com.objectwave.persist.bcel
Class FinalClass

java.lang.Object
  |
  +--com.objectwave.persist.bcel.FinalClass

public class FinalClass
extends java.lang.Object

This class will create the glue linking the persistence support to any random domain object.

Version:
$Id: FinalClass.java,v 1.6 2002/08/24 16:34:00 dave_hoag Exp $
Author:
dave_hoag

Constructor Summary
FinalClass(java.lang.Class subject, java.lang.String superClassName)
          Constructor for the FinalClass object
 
Method Summary
protected  void addAccessor(org.apache.bcel.generic.ClassGen cg, org.apache.bcel.generic.ConstantPoolGen cpGen, java.lang.reflect.Field field, org.apache.bcel.generic.FieldGen fg)
           
protected  void addAccessorMutator(org.apache.bcel.generic.ClassGen cg, org.apache.bcel.generic.ConstantPoolGen cpGen, java.lang.reflect.Field field, org.apache.bcel.generic.FieldGen fg)
           
protected  void addDefaultMethods(org.apache.bcel.generic.ClassGen cg, org.apache.bcel.generic.ConstantPoolGen gen)
           
protected  void addEditorReference(org.apache.bcel.generic.ConstantPoolGen cpGen)
           
protected  void addFactoryMethod(org.apache.bcel.generic.ClassGen cg, org.apache.bcel.generic.ConstantPoolGen cpGen)
           
protected  void addField(org.apache.bcel.generic.ClassGen cg, org.apache.bcel.generic.ConstantPoolGen cpGen, java.lang.reflect.Field field)
           
protected  void addFields(org.apache.bcel.generic.ClassGen cg, org.apache.bcel.generic.ConstantPoolGen gen)
           
protected  void addMutator(org.apache.bcel.generic.ClassGen cg, org.apache.bcel.generic.ConstantPoolGen cpGen, java.lang.reflect.Field field, org.apache.bcel.generic.FieldGen fg)
           
protected  void addSetupMethod(org.apache.bcel.generic.ClassGen cg, org.apache.bcel.generic.ConstantPoolGen cpGen)
           
protected  void addStaticMethod(org.apache.bcel.generic.ClassGen cg, org.apache.bcel.generic.ConstantPoolGen cpGen)
           
protected  void assignStaticField(java.lang.reflect.Field aField, org.apache.bcel.generic.ConstantPoolGen cpGen, org.apache.bcel.generic.InstructionList il)
          _aField = clazz.getDeclaredField(
protected  org.apache.bcel.generic.InstructionHandle callClassForName(java.lang.reflect.Field aField, java.lang.Class[] classHolder, org.apache.bcel.generic.ConstantPoolGen cpGen, org.apache.bcel.generic.InstructionList il, int classForNameRef)
          Only do anything if the class is different from the current
protected  org.apache.bcel.generic.ClassGen declareClass()
           
 org.apache.bcel.generic.Type getParamType(java.lang.Class paramType)
          Gets the paramType attribute of the FinalClass object
protected  java.lang.String getPersistentClassName(java.lang.Class domainObject)
          Gets the persistentClassName attribute of the FinalClass object
 org.apache.bcel.generic.ReturnInstruction getReturnInstruction(java.lang.Class paramType)
          Gets the returnInstruction attribute of the FinalClass object
protected  java.lang.String getSuperClass()
          Gets the superClass attribute of the FinalClass object
static void main(java.lang.String[] args)
          The main program for the FinalClass class
 org.apache.bcel.generic.ClassGen parse()
          Return a the newly defined class.
protected  void validateSubject()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FinalClass

public FinalClass(java.lang.Class subject,
                  java.lang.String superClassName)
Constructor for the FinalClass object

Parameters:
subject -
superClassName -
Method Detail

getPersistentClassName

protected final java.lang.String getPersistentClassName(java.lang.Class domainObject)
Gets the persistentClassName attribute of the FinalClass object

Parameters:
domainObject -
Returns:
The persistentClassName value

getSuperClass

protected java.lang.String getSuperClass()
Gets the superClass attribute of the FinalClass object

Returns:
The superClass value

getReturnInstruction

public org.apache.bcel.generic.ReturnInstruction getReturnInstruction(java.lang.Class paramType)
Gets the returnInstruction attribute of the FinalClass object

Parameters:
paramType -
Returns:
The returnInstruction value

getParamType

public org.apache.bcel.generic.Type getParamType(java.lang.Class paramType)
Gets the paramType attribute of the FinalClass object

Parameters:
paramType -
Returns:
The paramType value

validateSubject

protected void validateSubject()

parse

public org.apache.bcel.generic.ClassGen parse()
Return a the newly defined class.

Returns:

addDefaultMethods

protected void addDefaultMethods(org.apache.bcel.generic.ClassGen cg,
                                 org.apache.bcel.generic.ConstantPoolGen gen)
Parameters:
cg -
gen -

addEditorReference

protected void addEditorReference(org.apache.bcel.generic.ConstantPoolGen cpGen)
Parameters:
cpGen -

addField

protected void addField(org.apache.bcel.generic.ClassGen cg,
                        org.apache.bcel.generic.ConstantPoolGen cpGen,
                        java.lang.reflect.Field field)
Parameters:
cg -
cpGen -
field -

addAccessorMutator

protected void addAccessorMutator(org.apache.bcel.generic.ClassGen cg,
                                  org.apache.bcel.generic.ConstantPoolGen cpGen,
                                  java.lang.reflect.Field field,
                                  org.apache.bcel.generic.FieldGen fg)
Parameters:
cg -
cpGen -
field -
fg -

addFactoryMethod

protected void addFactoryMethod(org.apache.bcel.generic.ClassGen cg,
                                org.apache.bcel.generic.ConstantPoolGen cpGen)

addSetupMethod

protected void addSetupMethod(org.apache.bcel.generic.ClassGen cg,
                              org.apache.bcel.generic.ConstantPoolGen cpGen)
Parameters:
cg -
cpGen -

callClassForName

protected org.apache.bcel.generic.InstructionHandle callClassForName(java.lang.reflect.Field aField,
                                                                     java.lang.Class[] classHolder,
                                                                     org.apache.bcel.generic.ConstantPoolGen cpGen,
                                                                     org.apache.bcel.generic.InstructionList il,
                                                                     int classForNameRef)
Only do anything if the class is different from the current

Returns:
int - The InstructionHandle of the initial LDC instruction

assignStaticField

protected void assignStaticField(java.lang.reflect.Field aField,
                                 org.apache.bcel.generic.ConstantPoolGen cpGen,
                                 org.apache.bcel.generic.InstructionList il)
_aField = clazz.getDeclaredField(


addStaticMethod

protected void addStaticMethod(org.apache.bcel.generic.ClassGen cg,
                               org.apache.bcel.generic.ConstantPoolGen cpGen)
Parameters:
cg -
cpGen -

addMutator

protected void addMutator(org.apache.bcel.generic.ClassGen cg,
                          org.apache.bcel.generic.ConstantPoolGen cpGen,
                          java.lang.reflect.Field field,
                          org.apache.bcel.generic.FieldGen fg)
Parameters:
cg -
cpGen -
field -
fg -

addAccessor

protected void addAccessor(org.apache.bcel.generic.ClassGen cg,
                           org.apache.bcel.generic.ConstantPoolGen cpGen,
                           java.lang.reflect.Field field,
                           org.apache.bcel.generic.FieldGen fg)
Parameters:
cg -
cpGen -
field -
fg -

addFields

protected void addFields(org.apache.bcel.generic.ClassGen cg,
                         org.apache.bcel.generic.ConstantPoolGen gen)
Parameters:
cg -
gen -

declareClass

protected org.apache.bcel.generic.ClassGen declareClass()
Returns:

main

public static void main(java.lang.String[] args)
The main program for the FinalClass class

Parameters:
args - The command line arguments