Package org.apache.openjpa.enhance
Class PCRegistry
- java.lang.Object
 - 
- org.apache.openjpa.enhance.PCRegistry
 
 
- 
public class PCRegistry extends Object
Tracks registered persistence-capable classes.- Since:
 - 0.4.0
 - Author:
 - Abe White
 
 
- 
- 
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfacePCRegistry.RegisterClassListenerListener for persistent class registration events. 
- 
Constructor Summary
Constructors Constructor Description PCRegistry() 
- 
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidaddRegisterClassListener(PCRegistry.RegisterClassListener rcl)Register aPCRegistry.RegisterClassListener.static voidcopyKeyFieldsFromObjectId(Class<?> pcClass, FieldConsumer fm, Object oid)Copy fields to an outside source from the key fields in the identity object.static voidcopyKeyFieldsToObjectId(Class<?> pcClass, FieldSupplier fm, Object oid)Copy fields from an outside source to the key fields in the identity object.static voiddeRegister(ClassLoader cl)De-Register all metadata associated with the given ClassLoader.static String[]getFieldNames(Class<?> pcClass)Get the field names for aPersistenceCapableclass.static Class<?>[]getFieldTypes(Class<?> pcClass)Get the field types for aPersistenceCapableclass.static Class<?>getPCType(Class<?> type)Return the persistence-capable type fortype.static Class<?>getPersistentSuperclass(Class<?> pcClass)Return the persistent superclass for aPersistenceCapableclass, or null if none.static Collection<Class<?>>getRegisteredTypes()Returns a collection of class objects of the registered persistence-capable classes.static StringgetTypeAlias(Class<?> pcClass)Return the alias for the given type.static booleanisRegistered(Class<?> cls)Returnstrueif the given class is already registered.static PersistenceCapablenewInstance(Class<?> pcClass, StateManager sm, boolean clear)Create a new instance of the class and assign its state manager.static PersistenceCapablenewInstance(Class<?> pcClass, StateManager sm, Object oid, boolean clear)Create a new instance of the class and assign its state manager and oid.static ObjectnewObjectId(Class<?> pcClass)Create a new identity object for the givenPersistenceCapableclass.static ObjectnewObjectId(Class<?> pcClass, String str)Create a new identity object for the givenPersistenceCapableclass, using theStringform of the constructor.static voidregister(Class<?> pcClass, String[] fieldNames, Class<?>[] fieldTypes, byte[] fieldFlags, Class<?> sup, String alias, PersistenceCapable pc)Register metadata by class.static booleanremoveRegisterClassListener(PCRegistry.RegisterClassListener rcl)Removes aPCRegistry.RegisterClassListener. 
 - 
 
- 
- 
Method Detail
- 
addRegisterClassListener
public static void addRegisterClassListener(PCRegistry.RegisterClassListener rcl)
Register aPCRegistry.RegisterClassListener. 
- 
removeRegisterClassListener
public static boolean removeRegisterClassListener(PCRegistry.RegisterClassListener rcl)
Removes aPCRegistry.RegisterClassListener. 
- 
getFieldNames
public static String[] getFieldNames(Class<?> pcClass)
Get the field names for aPersistenceCapableclass. 
- 
getFieldTypes
public static Class<?>[] getFieldTypes(Class<?> pcClass)
Get the field types for aPersistenceCapableclass. 
- 
getPersistentSuperclass
public static Class<?> getPersistentSuperclass(Class<?> pcClass)
Return the persistent superclass for aPersistenceCapableclass, or null if none. The superclass may or may not implementPersistenceCapable, depending on the access type of the class. 
- 
newInstance
public static PersistenceCapable newInstance(Class<?> pcClass, StateManager sm, boolean clear)
Create a new instance of the class and assign its state manager. The new instance has its flags set toLOAD_REQUIRED. 
- 
newInstance
public static PersistenceCapable newInstance(Class<?> pcClass, StateManager sm, Object oid, boolean clear)
Create a new instance of the class and assign its state manager and oid. The new instance has its flags set toLOAD_REQUIRED. 
- 
getPCType
public static Class<?> getPCType(Class<?> type)
Return the persistence-capable type fortype. This might be a generated subclass oftype.- Since:
 - 1.1.0
 
 
- 
newObjectId
public static Object newObjectId(Class<?> pcClass)
Create a new identity object for the givenPersistenceCapableclass. 
- 
newObjectId
public static Object newObjectId(Class<?> pcClass, String str)
Create a new identity object for the givenPersistenceCapableclass, using theStringform of the constructor. 
- 
getTypeAlias
public static String getTypeAlias(Class<?> pcClass)
Return the alias for the given type. 
- 
copyKeyFieldsToObjectId
public static void copyKeyFieldsToObjectId(Class<?> pcClass, FieldSupplier fm, Object oid)
Copy fields from an outside source to the key fields in the identity object. 
- 
copyKeyFieldsFromObjectId
public static void copyKeyFieldsFromObjectId(Class<?> pcClass, FieldConsumer fm, Object oid)
Copy fields to an outside source from the key fields in the identity object. 
- 
register
public static void register(Class<?> pcClass, String[] fieldNames, Class<?>[] fieldTypes, byte[] fieldFlags, Class<?> sup, String alias, PersistenceCapable pc)
Register metadata by class.- Parameters:
 fieldTypes- managed field typesfieldFlags- managed field flagssup- the most immediate persistent superclasspcClass- thePersistenceCapableclassfieldNames- managed field namesalias- the class aliaspc- an instance of the class, if not abstract
 
- 
deRegister
public static void deRegister(ClassLoader cl)
De-Register all metadata associated with the given ClassLoader. Allows ClassLoaders to be garbage collected.- Parameters:
 cl- the ClassLoader
 
- 
getRegisteredTypes
public static Collection<Class<?>> getRegisteredTypes()
Returns a collection of class objects of the registered persistence-capable classes. 
- 
isRegistered
public static boolean isRegistered(Class<?> cls)
Returnstrueif the given class is already registered. 
 - 
 
 -