Class SourceBuilder

java.lang.Object
org.jibx.schema.codegen.SourceBuilder

public class SourceBuilder extends Object
Abstract syntax tree builder. This wraps the AST with convenience methods and added control information.
  • Field Details

    • s_logger

      private static final Logger s_logger
      Logger for class.
    • s_primitiveTypeCodes

      private static final Map s_primitiveTypeCodes
      Map from primitive type name to type code.
    • m_ast

      private final AST m_ast
      Actual AST instance.
    • m_package

      private final PackageHolder m_package
      Package containing this source.
    • m_name

      private final String m_name
      Name of this source.
    • m_compilationUnit

      private final CompilationUnit m_compilationUnit
      Compilation unit.
    • m_importsTracker

      protected final ImportsTracker m_importsTracker
      Tracker for imports.
    • m_classes

      private ArrayList m_classes
      Builders for main classes in file.
  • Constructor Details

  • Method Details

    • getAST

      AST getAST()
      AST access for related classes.
      Returns:
      AST
    • getPackageName

      public String getPackageName()
      Get the name of the package containing this source file.
      Returns:
      name
    • createClass

      private AbstractTypeDeclaration createClass(String cname, boolean isenum)
      Create a type declaration.
      Parameters:
      cname - class name
      isenum - Java 5 enum class flag
      Returns:
      type declaration
    • newMainClass

      public ClassBuilder newMainClass(String cname, boolean isenum)
      Add a new main class to the file.
      Parameters:
      cname - class name
      isenum - Java 5 enum class flag
      Returns:
      builder
    • newInnerClass

      public ClassBuilder newInnerClass(String cname, ClassBuilder outer, boolean isenum)
      Add a new inner class to the file.
      Parameters:
      cname - class name
      outer - containing class builder
      isenum - Java 5 enum class flag
      Returns:
      builder
    • createTypeName

      protected Name createTypeName(String type)
      Create type name.
      Parameters:
      type - fully-qualified type name
      Returns:
      name
    • createType

      public Type createType(String type)
      Create type definition. This uses the supplied type name, which may include array suffixes and/or type parameters, to construct the actual type definition.
      Parameters:
      type - fully qualified type name, or primitive type name
      Returns:
      constructed typed definition
    • createParameterizedType

      public Type createParameterizedType(String type, String param)
      Create a parameterized type.
      Parameters:
      type - fully qualified type name
      param - fully qualified parameter type name
      Returns:
      type
    • finish

      public void finish(boolean verbose)
      Generate the actual source file.
      Parameters:
      verbose -