Top Description Methods
org.apache.derby.iapi.services.compiler

public Interface ClassBuilder

Known Direct Implementers
org.apache.derby.impl.services.bytecode.GClass
Imports
org.apache.derby.iapi.services.loader.GeneratedClass, org.apache.derby.shared.common.error.StandardException, org.apache.derby.iapi.util.ByteArray

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:

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

Modifier and TypeMethod and Description
public LocalField
addField(String
The type of the field in java language.
type
,
String
The name of the field.
name
,
int
The | of the modifier values such as public, static, etc.
modifiers
)

add a field to this class.

public 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.

public String
getFullName()

the class's qualified name

public GeneratedClass
getGeneratedClass()

Fully create the bytecode and load the class using the ClassBuilder's ClassFactory.

public String
getName()

the class's unqualified name

public MethodBuilder

Returns:

the method builder for the constructor.
newConstructorBuilder
(int
the | of the Modifier constants representing the visibility and control of this method.
modifiers
)

a constructor.</verbatim>

public MethodBuilder

Returns:

the method builder.
newMethodBuilder
(int
the | of the Modifier constants representing the visibility and control of this method.
modifiers
,
String
the return type of the method as its Java language type name.
returnType
,
String
the name of the method.
methodName
)

a method.</verbatim>

public MethodBuilder

Returns:

the method builder.
newMethodBuilder
(int
the | of the Modifier constants representing the visibility and control of this method.
modifiers
,
String
the return type of the method as its Java language type name.
returnType
,
String
the name of the method.
methodName
,
String[]
an array of String representing the method's parameter types
parms
)

a method with parameters.</verbatim>

Method Detail

addFieldback to summary
public LocalField addField(String type, 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.

Parameters
type:String

The type of the field in java language.

name:String

The name of the field.

modifiers:int

The | of the modifier values such as public, static, etc.

See Also
ClassBuilder#newMethodBuilder, newConstructorBuilder
getClassBytecodeback to summary
public ByteArray getClassBytecode() throws 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.

getFullNameback to summary
public String getFullName()

the class's qualified name

getGeneratedClassback to summary
public GeneratedClass getGeneratedClass() throws StandardException

Fully create the bytecode and load the class using the ClassBuilder's ClassFactory.

Exceptions
StandardException:
Standard Derby policy
getNameback to summary
public String getName()

the class's unqualified name

newConstructorBuilderback to summary
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.

Parameters
modifiers:int

the | of the Modifier constants representing the visibility and control of this method.

Returns:MethodBuilder

the method builder for the constructor.

See Also
java.lang.reflect.Modifier
newMethodBuilderback to summary
public MethodBuilder newMethodBuilder(int modifiers, String returnType, 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.

Parameters
modifiers:int

the | of the Modifier constants representing the visibility and control of this method.

returnType:String

the return type of the method as its Java language type name.

methodName:String

the name of the method.

Returns:MethodBuilder

the method builder.

See Also
java.lang.reflect.Modifier
newMethodBuilderback to summary
public MethodBuilder newMethodBuilder(int modifiers, String returnType, String methodName, 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.

Parameters
modifiers:int

the | of the Modifier constants representing the visibility and control of this method.

returnType:String

the return type of the method as its Java language type name.

methodName:String

the name of the method.

parms:String[]

an array of String representing the method's parameter types

Returns:MethodBuilder

the method builder.

See Also
java.lang.reflect.Modifier