|
||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jibx.schema.codegen.SourceBuilder
public class SourceBuilder
Abstract syntax tree builder. This wraps the AST with convenience methods and added control information.
Nested Class Summary | |
---|---|
private static class |
SourceBuilder.WriterVisitor
Visitor to apply edits. |
Field Summary | |
---|---|
private AST |
m_ast
Actual AST instance. |
private java.util.ArrayList |
m_classes
Builders for main classes in file. |
private CompilationUnit |
m_compilationUnit
Compilation unit. |
protected ImportsTracker |
m_importsTracker
Tracker for imports. |
private java.lang.String |
m_name
Name of this source. |
private PackageHolder |
m_package
Package containing this source. |
private static Logger |
s_logger
Logger for class. |
private static java.util.Map |
s_primitiveTypeCodes
Map from primitive type name to type code. |
Constructor Summary | |
---|---|
SourceBuilder(AST ast,
PackageHolder pack,
java.lang.String name,
ImportsTracker imports)
Constructor. |
Method Summary | |
---|---|
private AbstractTypeDeclaration |
createClass(java.lang.String cname,
boolean isenum)
Create a type declaration. |
Type |
createParameterizedType(java.lang.String type,
java.lang.String param)
Create a parameterized type. |
Type |
createType(java.lang.String type)
Create type definition. |
protected Name |
createTypeName(java.lang.String type)
Create type name. |
void |
finish(boolean verbose)
Generate the actual source file. |
(package private) AST |
getAST()
AST access for related classes. |
java.lang.String |
getPackageName()
Get the name of the package containing this source file. |
ClassBuilder |
newInnerClass(java.lang.String cname,
ClassBuilder outer,
boolean isenum)
Add a new inner class to the file. |
ClassBuilder |
newMainClass(java.lang.String cname,
boolean isenum)
Add a new main class to the file. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final Logger s_logger
private static final java.util.Map s_primitiveTypeCodes
private final AST m_ast
private final PackageHolder m_package
private final java.lang.String m_name
private final CompilationUnit m_compilationUnit
protected final ImportsTracker m_importsTracker
private java.util.ArrayList m_classes
Constructor Detail |
---|
public SourceBuilder(AST ast, PackageHolder pack, java.lang.String name, ImportsTracker imports)
ast
- pack
- name
- imports
- Method Detail |
---|
AST getAST()
public java.lang.String getPackageName()
private AbstractTypeDeclaration createClass(java.lang.String cname, boolean isenum)
cname
- class nameisenum
- Java 5 enum class flag
public ClassBuilder newMainClass(java.lang.String cname, boolean isenum)
cname
- class nameisenum
- Java 5 enum class flag
public ClassBuilder newInnerClass(java.lang.String cname, ClassBuilder outer, boolean isenum)
cname
- class nameouter
- containing class builderisenum
- Java 5 enum class flag
protected Name createTypeName(java.lang.String type)
type
- fully-qualified type name
public Type createType(java.lang.String type)
type
- fully qualified type name, or primitive type name
public Type createParameterizedType(java.lang.String type, java.lang.String param)
type
- fully qualified type nameparam
- fully qualified parameter type name
public void finish(boolean verbose)
verbose
-
|
||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |