Class ModuleNode

java.lang.Object
org.codehaus.groovy.ast.ASTNode
org.codehaus.groovy.ast.ModuleNode
All Implemented Interfaces:
NodeMetaDataHandler

public class ModuleNode extends ASTNode
Represents a module, which consists typically of a class declaration but could include some imports, some statements and multiple classes intermixed with statements like scripts in Python or Ruby
  • Constructor Details

  • Method Details

    • getClasses

      public List<ClassNode> getClasses()
    • getMethods

      public List<MethodNode> getMethods()
      Returns:
      the module's methods
    • getImports

      public List<ImportNode> getImports()
      Returns:
      a copy of the module's imports
    • getStarImports

      public List<ImportNode> getStarImports()
      Returns:
      the module's star imports
    • getStaticImports

      public Map<String,ImportNode> getStaticImports()
      Returns:
      the module's static imports
    • getStaticStarImports

      public Map<String,ImportNode> getStaticStarImports()
      Returns:
      the module's static star imports
    • getImportType

      public ClassNode getImportType(String alias)
      Parameters:
      alias - the name of interest
      Returns:
      the import type for the given alias or null if none is available
    • getImport

      public ImportNode getImport(String alias)
      Parameters:
      alias - the name of interest
      Returns:
      the import node for the given alias or null if none is available
    • addImport

      public void addImport(String alias, ClassNode type)
    • addImport

      public void addImport(String alias, ClassNode type, List<AnnotationNode> annotations)
    • addStarImport

      public void addStarImport(String packageName)
    • addStarImport

      public void addStarImport(String packageName, List<AnnotationNode> annotations)
    • addStaticImport

      public void addStaticImport(ClassNode type, String fieldName, String alias)
    • addStaticImport

      public void addStaticImport(ClassNode type, String fieldName, String alias, List<AnnotationNode> annotations)
    • addStaticStarImport

      public void addStaticStarImport(String name, ClassNode type)
    • addStaticStarImport

      public void addStaticStarImport(String name, ClassNode type, List<AnnotationNode> annotations)
    • addStatement

      public void addStatement(Statement node)
    • addClass

      public void addClass(ClassNode node)
    • addMethod

      public void addMethod(MethodNode node)
    • visit

      public void visit(GroovyCodeVisitor visitor)
      Overrides:
      visit in class ASTNode
    • getPackageName

      public String getPackageName()
    • getPackage

      public PackageNode getPackage()
    • hasPackage

      public boolean hasPackage()
    • setPackage

      public void setPackage(PackageNode packageNode)
    • hasPackageName

      public boolean hasPackageName()
    • setPackageName

      public void setPackageName(String packageName)
    • getDescription

      public String getDescription()
      Returns:
      the underlying character stream description
    • setDescription

      public void setDescription(String description)
    • getUnit

      public CompileUnit getUnit()
    • getContext

      public SourceUnit getContext()
    • getScriptClassDummy

      public ClassNode getScriptClassDummy()
    • createStatementsClass

      protected ClassNode createStatementsClass()
    • extractClassFromFileDescription

      protected String extractClassFromFileDescription()
    • isEmpty

      public boolean isEmpty()
    • sortClasses

      public void sortClasses()
    • hasImportsResolved

      public boolean hasImportsResolved()
    • setImportsResolved

      public void setImportsResolved(boolean importsResolved)
    • getMainClassName

      public String getMainClassName()
    • getStatementBlock

      public BlockStatement getStatementBlock()