org.objectweb.speedo.generation.generator.home
Class HomeGenerator

java.lang.Object
  extended by org.objectweb.speedo.generation.lib.AbstractGeneratorComponent
      extended by org.objectweb.speedo.generation.generator.lib.AbstractVelocityGenerator
          extended by org.objectweb.speedo.generation.generator.lib.AbstractSpeedoGenerator
              extended by org.objectweb.speedo.generation.generator.home.HomeGenerator
All Implemented Interfaces:
org.objectweb.asm.Constants, SupportedGenClass, GeneratorComponent, VelocityGenerator
Direct Known Subclasses:
EJBHomeGenerator, JDOHomeGenerator

public abstract class HomeGenerator
extends AbstractSpeedoGenerator
implements org.objectweb.asm.Constants

Author:
S.Chassande-Barrioz

Nested Class Summary
protected  class HomeGenerator.HomeContext
           
 
Nested classes/interfaces inherited from class org.objectweb.speedo.generation.generator.lib.AbstractSpeedoGenerator
AbstractSpeedoGenerator.FetchGroup, AbstractSpeedoGenerator.Field
 
Field Summary
static java.lang.String LOGGER_NAME
           
static java.lang.String TEMPLATE_NAME
           
 
Fields inherited from class org.objectweb.speedo.generation.generator.lib.AbstractSpeedoGenerator
jormTools, PRIMITIVE_TYPES
 
Fields inherited from class org.objectweb.speedo.generation.generator.lib.AbstractVelocityGenerator
fs, template, TEMPLATE_DIR, ve
 
Fields inherited from class org.objectweb.speedo.generation.lib.AbstractGeneratorComponent
debug, logger, personality, scp
 
Fields inherited from interface org.objectweb.asm.Constants
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, V1_1, V1_2, V1_3, V1_4, V1_5
 
Fields inherited from interface org.objectweb.speedo.genclass.SupportedGenClass
GC_IMPL, GC_IMPL_PREFIX
 
Constructor Summary
HomeGenerator(Personality p)
           
 
Method Summary
 void generate(SpeedoClass sClass, java.lang.String fileName)
          generate the file name corresponding to the Speedo meta object given in parameter.
protected  void generateNoArgConstructor(HomeGenerator.HomeContext gc)
           
protected  void generatePersonalityMethods(HomeGenerator.HomeContext gc)
           
static java.lang.String getJVMClassName(java.lang.Class clazz)
           
static java.lang.String getJVMClassName(java.lang.String className)
           
static java.lang.String getJVMType(java.lang.Class clazz)
           
static java.lang.String getJVMType(org.objectweb.jorm.type.api.PType pt)
           
static java.lang.String getJVMType(java.lang.String className)
           
protected abstract  java.lang.Class getQueryClass()
          Provides the class to be used by the generated Home for query creation.
protected abstract  java.lang.Class getSuperClass()
          Provides the class to be inherited by the generated Home.
 boolean init()
          Initializes the component
 
Methods inherited from class org.objectweb.speedo.generation.generator.lib.AbstractSpeedoGenerator
computeUserCaches, computeUserCaches, fillFetchGroupInfo, fillFieldInfo, fillFieldInfo4FetchGroup, fillReferenceInfo, fillRelationInfo, fillUserFieldMappingInfo, getClassNameDef, getClassNameDef, getCollectionClass, getContext, getContextAsMap, getJavaLangType, getMapping, getMapping, getPNameGetter, getValueGetter
 
Methods inherited from class org.objectweb.speedo.generation.generator.lib.AbstractVelocityGenerator
computeTemplate, getExternalsTemplate, getVelocityEngine, isClassicalType, isContainerIdField, process, setVelocityEngine
 
Methods inherited from class org.objectweb.speedo.generation.lib.AbstractGeneratorComponent
getLogger, getSpeedoCompilerParameter, getSummary, getTitle, setLogger, setSpeedoCompilerParameter
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.objectweb.speedo.generation.api.GeneratorComponent
getSpeedoCompilerParameter, getSummary, getTitle, setSpeedoCompilerParameter
 

Field Detail

LOGGER_NAME

public static final java.lang.String LOGGER_NAME
See Also:
Constant Field Values

TEMPLATE_NAME

public static final java.lang.String TEMPLATE_NAME
See Also:
Constant Field Values
Constructor Detail

HomeGenerator

public HomeGenerator(Personality p)
Method Detail

getSuperClass

protected abstract java.lang.Class getSuperClass()
Provides the class to be inherited by the generated Home.

Returns:
The Java Class metaobject.

getQueryClass

protected abstract java.lang.Class getQueryClass()
Provides the class to be used by the generated Home for query creation.

Returns:
The Java Class metaobject.

init

public boolean init()
             throws SpeedoException
Description copied from interface: GeneratorComponent
Initializes the component

Specified by:
init in interface GeneratorComponent
Specified by:
init in class AbstractVelocityGenerator
Returns:
boolean value indicating if the process method can be called.
Throws:
SpeedoException - if the component initialization fails

generate

public void generate(SpeedoClass sClass,
                     java.lang.String fileName)
              throws SpeedoException
Description copied from class: AbstractVelocityGenerator
generate the file name corresponding to the Speedo meta object given in parameter.

Specified by:
generate in interface VelocityGenerator
Specified by:
generate in class AbstractVelocityGenerator
Parameters:
sClass - is the speedo meta object which represents a persistent class
fileName - is the generated file name
Throws:
SpeedoException

generateNoArgConstructor

protected void generateNoArgConstructor(HomeGenerator.HomeContext gc)

generatePersonalityMethods

protected void generatePersonalityMethods(HomeGenerator.HomeContext gc)

getJVMClassName

public static final java.lang.String getJVMClassName(java.lang.String className)

getJVMClassName

public static final java.lang.String getJVMClassName(java.lang.Class clazz)

getJVMType

public static final java.lang.String getJVMType(java.lang.Class clazz)

getJVMType

public static final java.lang.String getJVMType(java.lang.String className)

getJVMType

public static final java.lang.String getJVMType(org.objectweb.jorm.type.api.PType pt)