org.jpox.enhancer
Class AbstractClassEnhancer

java.lang.Object
  extended by org.jpox.enhancer.AbstractClassEnhancer
All Implemented Interfaces:
ClassEnhancer
Direct Known Subclasses:
BCELClassEnhancer

public abstract class AbstractClassEnhancer
extends java.lang.Object
implements ClassEnhancer

Abstract representation of a class enhancer. To be extended by implementing enhancers.

Version:
$Revision: 1.3.2.1 $

Field Summary
 java.lang.String className
          Class name of the class being enhanced
protected  org.jpox.ClassLoaderResolver clr
          Class Loader Resolver to use for any loading issues.
protected  org.jpox.metadata.ClassMetaData cmd
          MetaData for the class being enhanced.
protected static org.jpox.util.Localiser LOCALISER
          Message resource
protected  boolean update
          Flag specifying if the class needs updating.
 
Fields inherited from interface org.jpox.enhancer.ClassEnhancer
CN_BitSet, CN_ByteIdentity, CN_CharIdentity, CN_Class, CN_ClassCastException, CN_Detachable, CN_Flag, CN_IllegalArgumentException, CN_IllegalStateException, CN_IntIdentity, CN_JDODetachedFieldAccessException, CN_JDOFatalInternalException, CN_JDOHelper, CN_JDOImplHelper, CN_LongIdentity, CN_ObjectIdentity, CN_ObjectIdFieldConsumer, CN_ObjectIdFieldSupplier, CN_PersistenceCapable, CN_PersistenceManager, CN_ShortIdentity, CN_StateManager, CN_StringIdentity, FN_FieldFlags, FN_FieldNames, FN_FieldTypes, FN_Flag, FN_JdoDetachedState, FN_JdoLoadedFields, FN_JdoModifiedFields, FN_JdoObjectId, FN_JdoParentFieldCount, FN_JdoVersion, FN_PersistenceCapableSuperclass, FN_serialVersionUID, FN_StateManager, MN_FieldFlagsInitMethod, MN_FieldNamesInitMethod, MN_FieldTypesInitMethod, MN_JdoGetPersistenceManager, MN_JdoIsDetached, MN_JdoIsDetachedInternal, MN_jdoLoadClass, MN_JdoManagingFieldCountMethod, MN_JdoParentManagingFieldCountMethod, MN_JdoPreSerialize, MN_JdoSuperClone, MN_PersistenceCapableSuperclassInitMethod
 
Constructor Summary
AbstractClassEnhancer(org.jpox.metadata.ClassMetaData cmd, org.jpox.ClassLoaderResolver clr)
          Constructor.
 
Method Summary
 org.jpox.ClassLoaderResolver getClassLoaderResolver()
          Accessor for the ClassLoaderResolver
protected  boolean isPersistenceCapable(java.lang.String className)
          Check if the class is PersistenceCapable or is going to be enhanced based on the metadata
protected  boolean requiresDetachable()
          Convenience method for whether this class needs to implement Detachable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jpox.enhancer.ClassEnhancer
checkEnhanced, enhance, getBytes, store, update, verify
 

Field Detail

LOCALISER

protected static org.jpox.util.Localiser LOCALISER
Message resource


clr

protected final org.jpox.ClassLoaderResolver clr
Class Loader Resolver to use for any loading issues.


cmd

protected final org.jpox.metadata.ClassMetaData cmd
MetaData for the class being enhanced.


className

public final java.lang.String className
Class name of the class being enhanced


update

protected boolean update
Flag specifying if the class needs updating.

Constructor Detail

AbstractClassEnhancer

public AbstractClassEnhancer(org.jpox.metadata.ClassMetaData cmd,
                             org.jpox.ClassLoaderResolver clr)
Constructor.

Parameters:
cmd - MetaData for the class to be enhanced
clr - ClassLoader resolver
Method Detail

getClassLoaderResolver

public org.jpox.ClassLoaderResolver getClassLoaderResolver()
Accessor for the ClassLoaderResolver

Specified by:
getClassLoaderResolver in interface ClassEnhancer
Returns:
ClassLoader resolver

requiresDetachable

protected boolean requiresDetachable()
Convenience method for whether this class needs to implement Detachable

Returns:
Whether we need to implement the Detachable interface

isPersistenceCapable

protected boolean isPersistenceCapable(java.lang.String className)
Check if the class is PersistenceCapable or is going to be enhanced based on the metadata

Parameters:
className - the class name
Returns:
true if PersistenceCapable


Copyright © -2008 . All Rights Reserved.