|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.derby.impl.services.bytecode.GClass
org.apache.derby.impl.services.bytecode.BCClass
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 supply a way for Generators to give them code. Most typically, they may have a stream to which the Generator writes the code that is of the type to satisfy what the Generator is writing.
BCClass is a ClassBuilder implementation for generating java bytecode
directly.
Field Summary | |
protected ClassHolder |
classHold
|
(package private) Type |
classType
|
(package private) BCJava |
factory
|
protected java.lang.String |
name
|
protected java.lang.String |
superClassName
|
Fields inherited from class org.apache.derby.impl.services.bytecode.GClass |
bytecode, cf, qualifiedName |
Constructor Summary | |
(package private) |
BCClass(ClassFactory cf,
java.lang.String packageName,
int classModifiers,
java.lang.String className,
java.lang.String superClassName,
BCJava factory)
|
Method Summary | |
LocalField |
addField(java.lang.String javaType,
java.lang.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. |
(package private) ClassFactory |
getClassFactory()
|
java.lang.String |
getName()
the class's unqualified name |
(package private) java.lang.String |
getSuperClassName()
|
(package private) ClassHolder |
modify()
Let those that need to get to the classModify tool to alter the class definition. |
MethodBuilder |
newConstructorBuilder(int modifiers)
a constructor. |
void |
newFieldWithAccessors(java.lang.String getter,
java.lang.String setter,
int methodModifers,
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. |
Methods inherited from class org.apache.derby.impl.services.bytecode.GClass |
getFullName, getGeneratedClass, validateType, writeClassFile |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected ClassHolder classHold
protected java.lang.String superClassName
protected java.lang.String name
BCJava factory
final Type classType
Constructor Detail |
BCClass(ClassFactory cf, java.lang.String packageName, int classModifiers, java.lang.String className, java.lang.String superClassName, BCJava factory)
Method Detail |
public LocalField addField(java.lang.String javaType, java.lang.String name, int modifiers)
static fields also added to this list, with the modifier set appropriately.
javaType
- The type of the field in java language.name
- The name of the field.modifiers
- The | of the modifier values such as
public, static, etc.ClassBuilder.newMethodBuilder(int, java.lang.String, java.lang.String)
,
ClassBuilder.newConstructorBuilder(int)
public ByteArray getClassBytecode()
public java.lang.String getName()
public MethodBuilder newMethodBuilder(int modifiers, java.lang.String returnType, java.lang.String methodName)
This is used to start a constructor as well; pass in null for the returnType when used in that manner.
modifiers
- the | of the Modifiers
constants representing the visibility and control of this
method.returnType
- the return type of the method as its
Java language type name.methodName
- the name of the method.
java.lang.reflect..Modifiers
public MethodBuilder newMethodBuilder(int modifiers, java.lang.String returnType, java.lang.String methodName, java.lang.String[] parms)
This is used to start a constructor as well; pass in null for the returnType when used in that manner.
modifiers
- the | of the Modifiers
constants representing the visibility and control of this
method.returnType
- the return type of the method as its
Java language type name.methodName
- the name of the method.parms
- an array of ParameterDeclarations representing the
method's parameters
java.lang.reflect..Modifiers
public MethodBuilder newConstructorBuilder(int modifiers)
This is used to start a constructor as well; pass in null for the returnType when used in that manner.
modifiers
- the | of the Modifiers
constants representing the visibility and control of this
method.
Modifiers
java.lang.String getSuperClassName()
ClassHolder modify()
ClassFactory getClassFactory()
public void newFieldWithAccessors(java.lang.String getter, java.lang.String setter, int methodModifers, boolean staticField, java.lang.String type)
ClassBuilder
type
- type of the field, return type of the get method and
parameter type of the set method.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |