Class StaticJavaParser

java.lang.Object
com.github.javaparser.StaticJavaParser

public final class StaticJavaParser extends Object
A simpler, static API than JavaParser.
  • Method Details

    • getConfiguration

      public static ParserConfiguration getConfiguration()
      Get the configuration for the parse... methods.
    • setConfiguration

      public static void setConfiguration(ParserConfiguration configuration)
      Set the configuration for the static parse... methods. This is a STATIC field, so modifying it will directly change how all static parse... methods work!
    • parse

      @Deprecated public static CompilationUnit parse(InputStream in, Charset encoding)
      Deprecated.
      set the encoding in the ParserConfiguration
      Parses the Java code contained in the InputStream and returns a CompilationUnit that represents it.
      Parameters:
      in - InputStream containing Java source code. It will be closed after parsing.
      encoding - encoding of the source code
      Returns:
      CompilationUnit representing the Java source code
      Throws:
      ParseProblemException - if the source code has parser errors
    • parse

      public static CompilationUnit parse(InputStream in)
      Parses the Java code contained in the InputStream and returns a CompilationUnit that represents it.
      Parameters:
      in - InputStream containing Java source code. It will be closed after parsing.
      Returns:
      CompilationUnit representing the Java source code
      Throws:
      ParseProblemException - if the source code has parser errors
    • parse

      @Deprecated public static CompilationUnit parse(File file, Charset encoding) throws FileNotFoundException
      Deprecated.
      set the encoding in the ParserConfiguration
      Parses the Java code contained in a File and returns a CompilationUnit that represents it.
      Parameters:
      file - File containing Java source code. It will be closed after parsing.
      encoding - encoding of the source code
      Returns:
      CompilationUnit representing the Java source code
      Throws:
      ParseProblemException - if the source code has parser errors
      FileNotFoundException - the file was not found
    • parse

      public static CompilationUnit parse(File file) throws FileNotFoundException
      Parses the Java code contained in a File and returns a CompilationUnit that represents it.
      Parameters:
      file - File containing Java source code. It will be closed after parsing.
      Returns:
      CompilationUnit representing the Java source code
      Throws:
      ParseProblemException - if the source code has parser errors
      FileNotFoundException - the file was not found
    • parse

      @Deprecated public static CompilationUnit parse(Path path, Charset encoding) throws IOException
      Deprecated.
      set the encoding in the ParserConfiguration
      Parses the Java code contained in a file and returns a CompilationUnit that represents it.
      Parameters:
      path - path to a file containing Java source code
      encoding - encoding of the source code
      Returns:
      CompilationUnit representing the Java source code
      Throws:
      IOException - the path could not be accessed
      ParseProblemException - if the source code has parser errors
    • parse

      public static CompilationUnit parse(Path path) throws IOException
      Parses the Java code contained in a file and returns a CompilationUnit that represents it.
      Parameters:
      path - path to a file containing Java source code
      Returns:
      CompilationUnit representing the Java source code
      Throws:
      ParseProblemException - if the source code has parser errors
      IOException - the path could not be accessed
    • parseResource

      public static CompilationUnit parseResource(String path) throws IOException
      Parses the Java code contained in a resource and returns a CompilationUnit that represents it.
      Parameters:
      path - path to a resource containing Java source code. As resource is accessed through a class loader, a leading "/" is not allowed in pathToResource
      Returns:
      CompilationUnit representing the Java source code
      Throws:
      ParseProblemException - if the source code has parser errors
      IOException - the path could not be accessed
    • parseResource

      @Deprecated public static CompilationUnit parseResource(String path, Charset encoding) throws IOException
      Deprecated.
      set the encoding in the ParserConfiguration
      Parses the Java code contained in a resource and returns a CompilationUnit that represents it.
      Parameters:
      path - path to a resource containing Java source code. As resource is accessed through a class loader, a leading "/" is not allowed in pathToResource
      encoding - encoding of the source code
      Returns:
      CompilationUnit representing the Java source code
      Throws:
      ParseProblemException - if the source code has parser errors
      IOException - the path could not be accessed
    • parseResource

      @Deprecated public static CompilationUnit parseResource(ClassLoader classLoader, String path, Charset encoding) throws IOException
      Deprecated.
      set the encoding in the ParserConfiguration
      Parses the Java code contained in a resource and returns a CompilationUnit that represents it.
      Parameters:
      classLoader - the classLoader that is asked to load the resource
      path - path to a resource containing Java source code. As resource is accessed through a class loader, a leading "/" is not allowed in pathToResource
      Returns:
      CompilationUnit representing the Java source code
      Throws:
      ParseProblemException - if the source code has parser errors
      IOException - the path could not be accessed
    • parse

      public static CompilationUnit parse(Reader reader)
      Parses Java code from a Reader and returns a CompilationUnit that represents it.
      Parameters:
      reader - the reader containing Java source code. It will be closed after parsing.
      Returns:
      CompilationUnit representing the Java source code
      Throws:
      ParseProblemException - if the source code has parser errors
    • parse

      public static CompilationUnit parse(String code)
      Parses the Java code contained in code and returns a CompilationUnit that represents it.
      Parameters:
      code - Java source code
      Returns:
      CompilationUnit representing the Java source code
      Throws:
      ParseProblemException - if the source code has parser errors
    • parseBlock

      public static BlockStmt parseBlock(String blockStatement)
      Parses the Java block contained in a String and returns a BlockStmt that represents it.
      Parameters:
      blockStatement - String containing Java block code
      Returns:
      BlockStmt representing the Java block
      Throws:
      ParseProblemException - if the source code has parser errors
    • parseStatement

      public static Statement parseStatement(String statement)
      Parses the Java statement contained in a String and returns a Statement that represents it.
      Parameters:
      statement - String containing Java statement code
      Returns:
      Statement representing the Java statement
      Throws:
      ParseProblemException - if the source code has parser errors
    • parseImport

      public static ImportDeclaration parseImport(String importDeclaration)
      Parses the Java import contained in a String and returns a ImportDeclaration that represents it.
      Parameters:
      importDeclaration - String containing Java import code
      Returns:
      ImportDeclaration representing the Java import declaration
      Throws:
      ParseProblemException - if the source code has parser errors
    • parseExpression

      public static <T extends Expression> T parseExpression(String expression)
      Parses the Java expression contained in a String and returns a Expression that represents it.
      Parameters:
      expression - String containing Java expression
      Returns:
      Expression representing the Java expression
      Throws:
      ParseProblemException - if the source code has parser errors
    • parseAnnotation

      public static AnnotationExpr parseAnnotation(String annotation)
      Parses the Java annotation contained in a String and returns a AnnotationExpr that represents it.
      Parameters:
      annotation - String containing Java annotation
      Returns:
      AnnotationExpr representing the Java annotation
      Throws:
      ParseProblemException - if the source code has parser errors
    • parseAnnotationBodyDeclaration

      public static BodyDeclaration<?> parseAnnotationBodyDeclaration(String body)
      Parses the Java annotation body declaration(e.g fields or methods) contained in a String and returns a BodyDeclaration that represents it.
      Parameters:
      body - String containing Java body declaration
      Returns:
      BodyDeclaration representing the Java annotation
      Throws:
      ParseProblemException - if the source code has parser errors
    • parseBodyDeclaration

      public static BodyDeclaration<?> parseBodyDeclaration(String body)
      Parses a Java class or interface body declaration(e.g fields or methods) and returns a BodyDeclaration that represents it.
      Parameters:
      body - the body of a class or interface
      Returns:
      BodyDeclaration representing the Java interface body
      Throws:
      ParseProblemException - if the source code has parser errors
    • parseClassOrInterfaceType

      public static ClassOrInterfaceType parseClassOrInterfaceType(String type)
      Parses a Java class or interface type name and returns a ClassOrInterfaceType that represents it.
      Parameters:
      type - the type name like a.b.c.X or Y
      Returns:
      ClassOrInterfaceType representing the type
      Throws:
      ParseProblemException - if the source code has parser errors
    • parseType

      public static Type parseType(String type)
      Parses a Java type name and returns a Type that represents it.
      Parameters:
      type - the type name like a.b.c.X, Y, or int
      Returns:
      ClassOrInterfaceType representing the type
      Throws:
      ParseProblemException - if the source code has parser errors
    • parseVariableDeclarationExpr

      public static VariableDeclarationExpr parseVariableDeclarationExpr(String declaration)
      Parses a variable declaration expression and returns a VariableDeclarationExpr that represents it.
      Parameters:
      declaration - a variable declaration like int x=2;
      Returns:
      VariableDeclarationExpr representing the type
      Throws:
      ParseProblemException - if the source code has parser errors
    • parseJavadoc

      public static Javadoc parseJavadoc(String content)
      Parses the content of a JavadocComment and returns a Javadoc that represents it.
      Parameters:
      content - a variable declaration like content of my javadoc\n * second line\n * third line
      Returns:
      Javadoc representing the content of the comment
      Throws:
      ParseProblemException - if the source code has parser errors
    • parseExplicitConstructorInvocationStmt

      public static ExplicitConstructorInvocationStmt parseExplicitConstructorInvocationStmt(String statement)
      Parses the this(...) and super(...) statements that may occur at the start of a constructor.
      Parameters:
      statement - a statement like super("hello");
      Returns:
      the AST for the statement.
      Throws:
      ParseProblemException - if the source code has parser errors
    • parseName

      public static Name parseName(String qualifiedName)
      Parses a qualified name (one that can have "."s in it) and returns it as a Name.
      Parameters:
      qualifiedName - a name like "com.laamella.parameter_source"
      Returns:
      the AST for the name
      Throws:
      ParseProblemException - if the source code has parser errors
    • parseSimpleName

      public static SimpleName parseSimpleName(String name)
      Parses a simple name (one that can NOT have "."s in it) and returns it as a SimpleName.
      Parameters:
      name - a name like "parameter_source"
      Returns:
      the AST for the name
      Throws:
      ParseProblemException - if the source code has parser errors
    • parseParameter

      public static Parameter parseParameter(String parameter)
      Parses a single parameter (a type and a name) and returns it as a Parameter.
      Parameters:
      parameter - a parameter like "int[] x"
      Returns:
      the AST for the parameter
      Throws:
      ParseProblemException - if the source code has parser errors
    • parsePackageDeclaration

      public static PackageDeclaration parsePackageDeclaration(String packageDeclaration)
      Parses a package declaration and returns it as a PackageDeclaration.
      Parameters:
      packageDeclaration - a declaration like "package com.microsoft.java;"
      Returns:
      the AST for the parameter
      Throws:
      ParseProblemException - if the source code has parser errors
    • parseTypeDeclaration

      public static TypeDeclaration<?> parseTypeDeclaration(String typeDeclaration)
      Parses a type declaration and returns it as a TypeDeclaration.
      Parameters:
      typeDeclaration - a declaration like "class X {}"
      Returns:
      the AST for the type declaration
      Throws:
      ParseProblemException - if the source code has parser errors
    • parseModuleDeclaration

      public static ModuleDeclaration parseModuleDeclaration(String moduleDeclaration)
      Parses a module declaration and returns it as a ModuleDeclaration.
      Parameters:
      moduleDeclaration - a declaration like "module X {}"
      Returns:
      the AST for the module declaration
      Throws:
      ParseProblemException - if the source code has parser errors
      See Also:
      ModuleDeclaration
    • parseModuleDirective

      public static ModuleDirective parseModuleDirective(String moduleDirective)
      Parses a module directive and returns it as a ModuleDirective.
      Parameters:
      moduleDirective - a directive like "opens C;"
      Returns:
      the AST for the module directive
      Throws:
      ParseProblemException - if the source code has parser errors
      See Also:
      ModuleDirective
    • parseTypeParameter

      public static TypeParameter parseTypeParameter(String typeParameter)
      Parses a type parameter and returns it as a TypeParameter
      Parameters:
      typeParameter - a parameter like "T extends Serializable"
      Returns:
      the AST for the type parameter
      Throws:
      ParseProblemException - if the source code has parser errors
    • parseMethodDeclaration

      public static MethodDeclaration parseMethodDeclaration(String methodDeclaration)
      Parses a method declaration and returns it as a MethodDeclaration.
      Parameters:
      methodDeclaration - a method declaration like "void foo() {}"
      Returns:
      the AST for the method declaration
      Throws:
      ParseProblemException - if the source code has parser errors
      See Also:
      MethodDeclaration