| org.apache.derby.iapi.services.compiler.ClassBuilder
All known Subclasses: org.apache.derby.impl.services.bytecode.GClass,
ClassBuilder | public interface ClassBuilder (Code) | | ClassBuilder is used to construct a java class's byte array
representation.
Limitations:
No checking for language use violations such as invalid modifiers
or duplicate field names.
All classes must have a superclass; java.lang.Object must be
supplied if there is no superclass.
When a class is first created, it has:
- a superclass
- modifiers
- a name
- a package
- no superinterfaces, methods, fields, or constructors
- an empty static initializer
MethodBuilder implementations are required to get code out of the
constructs within their bodies in some manner.
Most typically, they may have a stream to which the statement and
expression constructs write the code that they represent,
and they walk over the statements and expressions in the appropriate order.
author: ames |
Method Summary | |
LocalField | addField(String type, String name, int modifiers) add a field to this class. | ByteArray | getClassBytecode() At the time the class is completed and bytecode
generated, if there are no constructors then
the default no-arg constructor will be defined. | String | getFullName() | GeneratedClass | getGeneratedClass() Fully create the bytecode and load the
class using the ClassBuilder's ClassFactory. | String | getName() | MethodBuilder | newConstructorBuilder(int modifiers) a constructor. | void | newFieldWithAccessors(String getter, String setter, int methodModifier, boolean staticField, String type) Create a new private field and its getter and setter methods. | MethodBuilder | newMethodBuilder(int modifiers, String returnType, String methodName) a method. | MethodBuilder | newMethodBuilder(int modifiers, String returnType, String methodName, String[] parms) a method with parameters. |
addField | LocalField addField(String type, String name, int modifiers)(Code) | | add a field to this class. Fields cannot
be initialized here, they must be initialized
in the static initializer code (static fields)
or in the constructors.
Methods are added when they are created with the JavaFactory.
Parameters: type - The type of the field in java language. Parameters: name - The name of the field. Parameters: modifiers - The | of the modifier values such aspublic, static, etc. See Also: ClassBuilder.newMethodBuilder See Also: ClassBuilder.newConstructorBuilder |
getClassBytecode | ByteArray getClassBytecode() throws StandardException(Code) | | At the time the class is completed and bytecode
generated, if there are no constructors then
the default no-arg constructor will be defined.
|
getFullName | String getFullName()(Code) | | the class's qualified name
|
newConstructorBuilder | MethodBuilder newConstructorBuilder(int modifiers)(Code) | | a constructor. Once it is created, parameters, thrown
exceptions, statements, and local variable declarations
must be added to it. It is put into its defining class
when it is created.
Java: #modifiers #className() {}
// modifiers is the | of the JVM constants for
// the modifiers such as static, public, etc.
// className is taken from definingClass.name()
This is used to start a constructor as well; pass in
null for the returnType when used in that manner.
Parameters: modifiers - the | of the Modifierconstants representing the visibility and control of thismethod. the method builder for the constructor. See Also: java.lang.reflect.Modifier |
newFieldWithAccessors | void newFieldWithAccessors(String getter, String setter, int methodModifier, boolean staticField, String type)(Code) | | Create a new private field and its getter and setter methods.
Parameters: getter - getter for field Parameters: setter - setter for field Parameters: methodModifier - modifier for method Parameters: staticField - true if the field is static Parameters: type - type of the field, return type of the get method andparameter type of the set method. |
newMethodBuilder | MethodBuilder newMethodBuilder(int modifiers, String returnType, String methodName)(Code) | | a method. Once it is created, parameters, thrown
exceptions, statements, and local variable declarations
must be added to it. It is put into its defining class
when it is created.
Java: #modifiers #returnType #methodName() {}
// modifiers is the | of the JVM constants for
// the modifiers such as static, public, etc.
This is used to start a constructor as well; pass in
null for the returnType when used in that manner.
Parameters: modifiers - the | of the Modifierconstants representing the visibility and control of thismethod. Parameters: returnType - the return type of the method as itsJava language type name. Parameters: methodName - the name of the method. the method builder. See Also: java.lang.reflect.Modifier |
newMethodBuilder | MethodBuilder newMethodBuilder(int modifiers, String returnType, String methodName, String[] parms)(Code) | | a method with parameters. Once it is created, thrown
exceptions, statements, and local variable declarations
must be added to it. It is put into its defining class
when it is created.
Java: #modifiers #returnType #methodName() {}
// modifiers is the | of the JVM constants for
// the modifiers such as static, public, etc.
This is used to start a constructor as well; pass in
null for the returnType when used in that manner.
Parameters: modifiers - the | of the Modifierconstants representing the visibility and control of thismethod. Parameters: returnType - the return type of the method as itsJava language type name. Parameters: methodName - the name of the method. Parameters: parms - an array of String representing themethod's parameter types the method builder. See Also: java.lang.reflect.Modifier |
|
|