org.objectweb.jorm.generator.lib
Class StateGenerator

java.lang.Object
  extended byTypeHelper
      extended byorg.objectweb.jorm.generator.lib.CommonHelper
          extended byorg.objectweb.jorm.generator.lib.CommonJVMHelper
              extended byorg.objectweb.jorm.generator.lib.CommonGenerator
                  extended byorg.objectweb.jorm.generator.lib.StateGenerator
All Implemented Interfaces:
Loggable

public class StateGenerator
extends CommonGenerator

The StateGenerator class uses ASM to generate an abstract state implementation for a JORM persistent class. The generated class will implement the specialized PAccessor interface for the JORM class in question. The generated state implementation will automatically manage coherence between multiple memory fields mapped onto a single persistent field. A JORM user wishing to take advantage of this generated state implementation must extend the generated class and provide an implementation of the FieldCoder interface.

Author:
Rafael H. Schloming <rhs@mit.edu>
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.objectweb.jorm.generator.lib.CommonGenerator
GEN_TEMPLATE_DIR, logger, loggerFactory, MAPPER_TEMPLATE_DIR, template, velocityEngine
 
Fields inherited from class org.objectweb.jorm.generator.lib.CommonHelper
debug, PN_GET_TYPES
 
Constructor Summary
StateGenerator()
           
 
Method Summary
 void generate(Class clazz, TargetHolder holder, JormCompilerParameter pc)
          Public entry point for invoking this generator.
 
Methods inherited from class org.objectweb.jorm.generator.lib.CommonGenerator
getLogger, getLoggerFactory, getTemplateLibraries, setLogger, setLoggerFactory, setVelocityEngine
 
Methods inherited from class org.objectweb.jorm.generator.lib.CommonJVMHelper
any2I, getConstructorFieldsPncParam, getJVMClassName, getJVMClassName, getJVMClassName, getJVMType, getJVMType, loadNull, write, writeJavaClass
 
Methods inherited from class org.objectweb.jorm.generator.lib.CommonHelper
buildPemList, canBeNullValue, comparePE, containsCharArrayField, containsCompositeName, containsFieldWhichCanBeNull, containsGenClassRef, containsReference, containsSerializedField, debug, getCNPackageName, getCoderName, getCompositeNameDefEntries, getCompositeReferences, getCTDeclaration, getFQNOfCompositeName, getInheritedClasses, getPaGetMethod, getPaSetMethod, getPemPos, getPNameDecodeFunction, getPNameEncodeFunction, getPNameGetterGetFunction, getPNGTypes, getPrimitiveElement, getPrimitiveElement, getProjectionField, getPType, getPTypeBigDecimal, getPTypeBigInteger, getPTypeBoolean, getPTypeByte, getPTypeByteArray, getPTypeChar, getPTypeCharArray, getPTypeDate, getPTypeDouble, getPTypeFloat, getPTypeInt, getPTypeLong, getPTypeOboolean, getPTypeObyte, getPTypeOchar, getPTypeOdouble, getPTypeOfloat, getPTypeOint, getPTypeOlong, getPTypeOshort, getPTypeReference, getPTypeSerialized, getPTypeShort, getPTypeSpaceFieldName, getPTypeString, getRefNameDef, getTupleDecoding, getTupleDecoding, getTupleGetter, isCharArrayType, isClass, isClassRef, isCompositeName, isFieldName, isGenClassRef, isHiddenField, isNull, isPrimitiveElement, isReference, isSerializedField, isSerializedType, isValidString, log, not, upperFL
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StateGenerator

public StateGenerator()
Method Detail

generate

public void generate(Class clazz,
                     TargetHolder holder,
                     JormCompilerParameter pc)
              throws PException
Public entry point for invoking this generator.

Parameters:
clazz - The persistent class for which to provide a state implementation.
holder - The TargetHolder used to create the output .class file.
pc - A JormCompilerParameter object containing parameters for this generator.
Throws:
PException