|
|||||||||
| Home >> All >> org >> apache >> derby >> iapi >> services >> [ compiler overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
org.apache.derby.iapi.services.compiler
Interface ClassBuilder

- public interface ClassBuilder
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.
| Method Summary | |
LocalField |
addField(java.lang.String type,
java.lang.String name,
int modifiers)
add a field to this class. |
org.apache.derby.iapi.util.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. |
java.lang.String |
getFullName()
the class's qualified name |
org.apache.derby.iapi.services.loader.GeneratedClass |
getGeneratedClass()
Fully create the bytecode and load the class using the ClassBuilder's ClassFactory. |
java.lang.String |
getName()
the class's unqualified name |
MethodBuilder |
newConstructorBuilder(int modifiers)
a constructor. |
void |
newFieldWithAccessors(java.lang.String getter,
java.lang.String setter,
int methodModifer,
boolean staticField,
java.lang.String type)
Create a new private field and its getter and setter methods. |
MethodBuilder |
newMethodBuilder(int modifiers,
java.lang.String returnType,
java.lang.String methodName)
a method. |
MethodBuilder |
newMethodBuilder(int modifiers,
java.lang.String returnType,
java.lang.String methodName,
java.lang.String[] parms)
a method with parameters. |
| Method Detail |
addField
public LocalField addField(java.lang.String type, java.lang.String name, int modifiers)
- 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.
getGeneratedClass
public org.apache.derby.iapi.services.loader.GeneratedClass getGeneratedClass() throws org.apache.derby.iapi.error.StandardException
- Fully create the bytecode and load the
class using the ClassBuilder's ClassFactory.
getClassBytecode
public org.apache.derby.iapi.util.ByteArray getClassBytecode() throws org.apache.derby.iapi.error.StandardException
- At the time the class is completed and bytecode
generated, if there are no constructors then
the default no-arg constructor will be defined.
getName
public java.lang.String getName()
- the class's unqualified name
getFullName
public java.lang.String getFullName()
- the class's qualified name
newMethodBuilder
public MethodBuilder newMethodBuilder(int modifiers, java.lang.String returnType, java.lang.String methodName)
- 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.
newMethodBuilder
public MethodBuilder newMethodBuilder(int modifiers, java.lang.String returnType, java.lang.String methodName, java.lang.String[] parms)
- 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.
newConstructorBuilder
public MethodBuilder newConstructorBuilder(int modifiers)
- 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.
newFieldWithAccessors
public void newFieldWithAccessors(java.lang.String getter, java.lang.String setter, int methodModifer, boolean staticField, java.lang.String type)
- Create a new private field and its getter and setter methods.
|
|||||||||
| Home >> All >> org >> apache >> derby >> iapi >> services >> [ compiler overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC