|
|||||||||
| Home >> All >> org >> apache >> derby >> impl >> services >> [ bytecode overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
org.apache.derby.impl.services.bytecode
Class BCClass

java.lang.Objectorg.apache.derby.impl.services.bytecode.GClass
org.apache.derby.impl.services.bytecode.BCClass
- All Implemented Interfaces:
- org.apache.derby.iapi.services.compiler.ClassBuilder
- class BCClass
- extends GClass
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
- an empty initializer
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.
| Field Summary | |
protected org.apache.derby.iapi.services.classfile.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(org.apache.derby.iapi.services.loader.ClassFactory cf,
java.lang.String packageName,
int classModifiers,
java.lang.String className,
java.lang.String superClassName,
BCJava factory)
|
| Method Summary | |
org.apache.derby.iapi.services.compiler.LocalField |
addField(java.lang.String javaType,
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. |
(package private) org.apache.derby.iapi.services.loader.ClassFactory |
getClassFactory()
|
java.lang.String |
getName()
the class's unqualified name |
(package private) java.lang.String |
getSuperClassName()
|
(package private) org.apache.derby.iapi.services.classfile.ClassHolder |
modify()
Let those that need to get to the classModify tool to alter the class definition. |
org.apache.derby.iapi.services.compiler.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. |
org.apache.derby.iapi.services.compiler.MethodBuilder |
newMethodBuilder(int modifiers,
java.lang.String returnType,
java.lang.String methodName)
a method. |
org.apache.derby.iapi.services.compiler.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 |
classHold
protected org.apache.derby.iapi.services.classfile.ClassHolder classHold
superClassName
protected java.lang.String superClassName
name
protected java.lang.String name
factory
BCJava factory
classType
final Type classType
| Constructor Detail |
BCClass
BCClass(org.apache.derby.iapi.services.loader.ClassFactory cf, java.lang.String packageName, int classModifiers, java.lang.String className, java.lang.String superClassName, BCJava factory)
| Method Detail |
addField
public org.apache.derby.iapi.services.compiler.LocalField addField(java.lang.String javaType, 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.
static fields also added to this list, with the modifier set appropriately.
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
newMethodBuilder
public org.apache.derby.iapi.services.compiler.MethodBuilder newMethodBuilder(int modifiers, java.lang.String returnType, java.lang.String methodName)
- a method. 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.
newMethodBuilder
public org.apache.derby.iapi.services.compiler.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 org.apache.derby.iapi.services.compiler.MethodBuilder newConstructorBuilder(int modifiers)
- a constructor. 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 #className() {} // modifiers is the | of the JVM constants for // the modifiers such as static, public, etc. // className is taken from definingClass.getName() This is used to start a constructor as well; pass in null for the returnType when used in that manner.
getSuperClassName
java.lang.String getSuperClassName()
modify
org.apache.derby.iapi.services.classfile.ClassHolder modify()
- Let those that need to get to the
classModify tool to alter the class definition.
getClassFactory
org.apache.derby.iapi.services.loader.ClassFactory getClassFactory()
newFieldWithAccessors
public void newFieldWithAccessors(java.lang.String getter, java.lang.String setter, int methodModifers, boolean staticField, java.lang.String type)
- Description copied from interface:
org.apache.derby.iapi.services.compiler.ClassBuilder - Create a new private field and its getter and setter methods.
|
|||||||||
| Home >> All >> org >> apache >> derby >> impl >> services >> [ bytecode overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC