Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.apache.derby.iapi.services.compiler
Interface ClassBuilder  view ClassBuilder download ClassBuilder.java


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:

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.