|
||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jibx.schema.codegen.ClassBuilder
public class ClassBuilder
Builder for a class definition. This wraps the AST with convenience methods and added control information.
Field Summary | |
---|---|
private ASTNode |
m_class
Type declaration for class. |
private java.util.ArrayList |
m_fields
Fields added to class. |
private java.util.ArrayList |
m_innerBuilders
Builders for inner classes of this class. |
private java.util.ArrayList |
m_innerClasses
Directly-added inner classes of this class. |
private java.util.ArrayList |
m_methods
Methods added to class. |
private SourceBuilder |
m_source
Source file containing this class. |
Constructor Summary | |
---|---|
ClassBuilder(AbstractTypeDeclaration clas,
ClassBuilder outer)
Constructor for an inner class. |
|
ClassBuilder(AbstractTypeDeclaration clas,
SourceBuilder source)
Constructor. |
|
ClassBuilder(AnonymousClassDeclaration clas,
ClassBuilder outer)
Constructor for an anonymous inner class. |
Method Summary | |
---|---|
MethodBuilder |
addConstructor(java.lang.String name)
Add constructor declaration. |
void |
addEnumConstant(java.lang.String value,
java.lang.String doc)
Add a constant to a Java 5 enum definition. |
void |
addEnumConstant(java.lang.String name,
java.lang.String doc,
java.lang.String value)
Add a constant to a Java 5 enum definition. |
void |
addField(FieldDeclaration field)
Add separately-constructed field declaration. |
FieldBuilder |
addField(java.lang.String name,
Type type)
Add field declaration. |
void |
addInterface(java.lang.String type)
Add an interface to this class definition. |
FieldBuilder |
addIntField(java.lang.String name,
java.lang.String value)
Add int field declaration with constant initialization. |
void |
addJavaDoc(java.lang.String doc,
BodyDeclaration decl)
Add JavaDoc to a declaration. |
void |
addMethod(MethodDeclaration method)
Add separately-constructed method declaration. |
MethodBuilder |
addMethod(java.lang.String name,
Type type)
Add method declaration. |
void |
addSourceComment(java.lang.String text)
Set source comment for this class. |
void |
addType(TypeDeclaration type)
Add separately-constructed inner class declaration. |
ArrayAccessBuilder |
buildArrayIndexAccess(java.lang.String aname,
java.lang.String iname)
Build array access expression for a named array variable and named index variable. |
CastBuilder |
buildCast(Type type)
Build a cast expression. |
InfixExpressionBuilder |
buildInfix(Operator op)
Build general infix expression. |
InfixExpressionBuilder |
buildNameOp(java.lang.String name,
Operator op)
Build infix expression involving a local variable or field name as the left operand. |
PrefixExpressionBuilder |
buildPreincrement(java.lang.String name)
Build a preincrement expression using a local variable or field name as the operand. |
InfixExpressionBuilder |
buildStringConcatenation(java.lang.String text)
Build a string concatenation expression starting from from a string literal. |
ASTNode |
clone(ASTNode node)
Clone an AST node. |
InvocationBuilder |
createExpressionMethodCall(ExpressionBuilderBase expr,
java.lang.String mname)
Create method call builder on the reference result of an expression. |
InvocationBuilder |
createLocalStaticMethodCall(java.lang.String mname)
Create internal static method call builder. |
InvocationBuilder |
createMemberMethodCall(java.lang.String mname)
Create internal member method call builder. |
InvocationBuilder |
createNormalMethodCall(java.lang.String name,
java.lang.String mname)
Create method call builder on a local variable or field value. |
Type |
createParameterizedType(java.lang.String type,
java.lang.String param)
Create a parameterized type. |
Type |
createParameterizedType(java.lang.String type,
Type param)
Create a parameterized type. |
InvocationBuilder |
createStaticMethodCall(java.lang.String fname)
Create a static method call builder. |
InvocationBuilder |
createStaticMethodCall(java.lang.String cname,
java.lang.String mname)
Create a static method call builder. |
Type |
createType(java.lang.String type)
Create type definition. |
(package private) Name |
createTypeName(java.lang.String type)
Create type name. |
void |
finish()
Finish building the source file data structures. |
(package private) AST |
getAST()
AST access for related classes. |
FieldDeclaration[] |
getFields()
Get the fields defined in this class. |
java.lang.String[] |
getInterfaces()
Get the interfaces implemented by this class. |
MethodDeclaration[] |
getMethods()
Get the methods defined in this class. |
StringPair[] |
getSortedFields()
Get a sorted array of the field names and types defined in this class. |
NewArrayBuilder |
newArrayBuilder(java.lang.String type)
Create new instance of array type. |
BlockBuilder |
newBlock()
Create a new block. |
NewInstanceBuilder |
newInstance(Type type)
Build new instance creator of type using a no-argument constructor. |
NewInstanceBuilder |
newInstanceFromString(java.lang.String type,
java.lang.String value)
Build new instance creator of a simple type using a constructor that takes a single string value. |
NewInstanceBuilder |
newInstanceFromStrings(java.lang.String type,
java.lang.String value1,
java.lang.String value2)
Build new instance creator of a simple type using a constructor that takes a pair of string values. |
void |
setAbstract()
Set the abstract flag for this class. |
void |
setSuperclass(java.lang.String name)
Set the superclass for this class. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private final SourceBuilder m_source
private final ASTNode m_class
private final java.util.ArrayList m_fields
private final java.util.ArrayList m_methods
private final java.util.ArrayList m_innerBuilders
private final java.util.ArrayList m_innerClasses
Constructor Detail |
---|
ClassBuilder(AbstractTypeDeclaration clas, SourceBuilder source)
clas
- source
- ClassBuilder(AbstractTypeDeclaration clas, ClassBuilder outer)
clas
- outer
- public ClassBuilder(AnonymousClassDeclaration clas, ClassBuilder outer)
clas
- outer
- Method Detail |
---|
AST getAST()
public void addField(FieldDeclaration field)
field
- public void addMethod(MethodDeclaration method)
method
- public void addType(TypeDeclaration type)
type
- public void setSuperclass(java.lang.String name)
name
- Name createTypeName(java.lang.String type)
type
- fully qualified type name
public ASTNode clone(ASTNode node)
node
-
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 Type createParameterizedType(java.lang.String type, Type param)
type
- fully qualified type nameparam
- type parameter
public void addSourceComment(java.lang.String text)
text
- comment textpublic void setAbstract()
public java.lang.String[] getInterfaces()
public FieldDeclaration[] getFields()
public MethodDeclaration[] getMethods()
public void addInterface(java.lang.String type)
type
- interface typepublic void addJavaDoc(java.lang.String doc, BodyDeclaration decl)
doc
- documentation text, or null
if nonedecl
- public void addEnumConstant(java.lang.String value, java.lang.String doc)
value
- doc
- documentation text, or null
if nonepublic void addEnumConstant(java.lang.String name, java.lang.String doc, java.lang.String value)
name
- doc
- documentation text, or null
if nonevalue
- public NewArrayBuilder newArrayBuilder(java.lang.String type)
type
- base type name
public NewInstanceBuilder newInstance(Type type)
type
- actual type
public NewInstanceBuilder newInstanceFromString(java.lang.String type, java.lang.String value)
type
- simple type namevalue
- string value to be passed to constructor
public NewInstanceBuilder newInstanceFromStrings(java.lang.String type, java.lang.String value1, java.lang.String value2)
type
- simple type namevalue1
- first string value to be passed to constructorvalue2
- second string value to be passed to constructor
public FieldBuilder addField(java.lang.String name, Type type)
name
- field nametype
- field type
public FieldBuilder addIntField(java.lang.String name, java.lang.String value)
int
field declaration with constant initialization.
name
- variable namevalue
- initial value
public MethodBuilder addConstructor(java.lang.String name)
name
- simple class name
public MethodBuilder addMethod(java.lang.String name, Type type)
name
- type
-
public InvocationBuilder createMemberMethodCall(java.lang.String mname)
mname
- method name
public InvocationBuilder createLocalStaticMethodCall(java.lang.String mname)
mname
- method name
public InvocationBuilder createStaticMethodCall(java.lang.String cname, java.lang.String mname)
cname
- fully qualified class namemname
- method name
public InvocationBuilder createStaticMethodCall(java.lang.String fname)
fname
- fully-qualified class and method name
public InvocationBuilder createNormalMethodCall(java.lang.String name, java.lang.String mname)
name
- local variable or field namemname
- method name
public InvocationBuilder createExpressionMethodCall(ExpressionBuilderBase expr, java.lang.String mname)
expr
- instance expressionmname
- method name
public InfixExpressionBuilder buildInfix(Operator op)
op
- operator
public InfixExpressionBuilder buildNameOp(java.lang.String name, Operator op)
name
- local variable or field nameop
- operator
public InfixExpressionBuilder buildStringConcatenation(java.lang.String text)
text
- literal text
public PrefixExpressionBuilder buildPreincrement(java.lang.String name)
name
- local variable or field name
public CastBuilder buildCast(Type type)
type
- result type
public ArrayAccessBuilder buildArrayIndexAccess(java.lang.String aname, java.lang.String iname)
aname
- iname
-
public BlockBuilder newBlock()
public void finish()
public StringPair[] getSortedFields()
|
||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |