ClassBuilder
class BCClass extends GClass
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.
Modifier and Type | Field | Description |
---|---|---|
protected ClassHolder |
classHold |
|
(package private) Type |
classType |
|
(package private) BCJava |
factory |
|
(package private) java.lang.String |
limitMsg |
Simple text indicating any limits execeeded while generating
the class file.
|
protected java.lang.String |
name |
|
protected java.lang.String |
superClassName |
bytecode, cf, qualifiedName
Constructor | Description |
---|---|
BCClass(ClassFactory cf,
java.lang.String packageName,
int classModifiers,
java.lang.String className,
java.lang.String superClassName,
BCJava factory) |
Modifier and Type | Method | Description |
---|---|---|
LocalField |
addField(java.lang.String javaType,
java.lang.String name,
int modifiers) |
add a field to this class.
|
(package private) void |
addLimitExceeded(java.lang.String rawText) |
Add the fact that some class limit was exceeded while generating
the class.
|
(package private) void |
addLimitExceeded(BCMethod mb,
java.lang.String limitName,
int limit,
int value) |
Add the fact that some class limit was exceeded while generating
the 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.
|
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.
|
getFullName, getGeneratedClass, validateType, writeClassFile
java.lang.String limitMsg
protected ClassHolder classHold
protected java.lang.String superClassName
protected java.lang.String name
BCJava factory
final Type classType
BCClass(ClassFactory cf, java.lang.String packageName, int classModifiers, java.lang.String className, java.lang.String superClassName, BCJava factory)
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() throws StandardException
StandardException
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. See java.lang.reflect.Modifiers
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.Modifier
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. See java.lang.reflect.Modifiers
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 parametersModifier
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.
See Modifiers
modifiers
- the | of the Modifiers
constants representing the visibility and control of this
method.Modifier
java.lang.String getSuperClassName()
ClassHolder modify()
ClassFactory getClassFactory()
void addLimitExceeded(BCMethod mb, java.lang.String limitName, int limit, int value)
mb
- limitName
- limit
- value
- void addLimitExceeded(java.lang.String rawText)
rawText
- Text to be reported.addLimitExceeded(BCMethod, String, int, int)
Apache Derby V10.14 Internals - Copyright © 2004,2018 The Apache Software Foundation. All Rights Reserved.