|
||||||
| 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 type
public 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 none
public 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 | |||||