Package org.apache.openjpa.enhance
Class PCRegistry
- java.lang.Object
-
- org.apache.openjpa.enhance.PCRegistry
-
public class PCRegistry extends java.lang.ObjectTracks 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(java.lang.Class<?> pcClass, FieldConsumer fm, java.lang.Object oid)Copy fields to an outside source from the key fields in the identity object.static voidcopyKeyFieldsToObjectId(java.lang.Class<?> pcClass, FieldSupplier fm, java.lang.Object oid)Copy fields from an outside source to the key fields in the identity object.static voiddeRegister(java.lang.ClassLoader cl)De-Register all metadata associated with the given ClassLoader.static java.lang.String[]getFieldNames(java.lang.Class<?> pcClass)Get the field names for aPersistenceCapableclass.static java.lang.Class<?>[]getFieldTypes(java.lang.Class<?> pcClass)Get the field types for aPersistenceCapableclass.static java.lang.Class<?>getPCType(java.lang.Class<?> type)Return the persistence-capable type fortype.static java.lang.Class<?>getPersistentSuperclass(java.lang.Class<?> pcClass)Return the persistent superclass for aPersistenceCapableclass, or null if none.static java.util.Collection<java.lang.Class<?>>getRegisteredTypes()Returns a collection of class objects of the registered persistence-capable classes.static java.lang.StringgetTypeAlias(java.lang.Class<?> pcClass)Return the alias for the given type.static booleanisRegistered(java.lang.Class<?> cls)Returnstrueif the given class is already registered.static PersistenceCapablenewInstance(java.lang.Class<?> pcClass, StateManager sm, boolean clear)Create a new instance of the class and assign its state manager.static PersistenceCapablenewInstance(java.lang.Class<?> pcClass, StateManager sm, java.lang.Object oid, boolean clear)Create a new instance of the class and assign its state manager and oid.static java.lang.ObjectnewObjectId(java.lang.Class<?> pcClass)Create a new identity object for the givenPersistenceCapableclass.static java.lang.ObjectnewObjectId(java.lang.Class<?> pcClass, java.lang.String str)Create a new identity object for the givenPersistenceCapableclass, using theStringform of the constructor.static voidregister(java.lang.Class<?> pcClass, java.lang.String[] fieldNames, java.lang.Class<?>[] fieldTypes, byte[] fieldFlags, java.lang.Class<?> sup, java.lang.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 java.lang.String[] getFieldNames(java.lang.Class<?> pcClass)
Get the field names for aPersistenceCapableclass.
-
getFieldTypes
public static java.lang.Class<?>[] getFieldTypes(java.lang.Class<?> pcClass)
Get the field types for aPersistenceCapableclass.
-
getPersistentSuperclass
public static java.lang.Class<?> getPersistentSuperclass(java.lang.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(java.lang.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(java.lang.Class<?> pcClass, StateManager sm, java.lang.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 java.lang.Class<?> getPCType(java.lang.Class<?> type)
Return the persistence-capable type fortype. This might be a generated subclass oftype.- Since:
- 1.1.0
-
newObjectId
public static java.lang.Object newObjectId(java.lang.Class<?> pcClass)
Create a new identity object for the givenPersistenceCapableclass.
-
newObjectId
public static java.lang.Object newObjectId(java.lang.Class<?> pcClass, java.lang.String str)Create a new identity object for the givenPersistenceCapableclass, using theStringform of the constructor.
-
getTypeAlias
public static java.lang.String getTypeAlias(java.lang.Class<?> pcClass)
Return the alias for the given type.
-
copyKeyFieldsToObjectId
public static void copyKeyFieldsToObjectId(java.lang.Class<?> pcClass, FieldSupplier fm, java.lang.Object oid)Copy fields from an outside source to the key fields in the identity object.
-
copyKeyFieldsFromObjectId
public static void copyKeyFieldsFromObjectId(java.lang.Class<?> pcClass, FieldConsumer fm, java.lang.Object oid)Copy fields to an outside source from the key fields in the identity object.
-
register
public static void register(java.lang.Class<?> pcClass, java.lang.String[] fieldNames, java.lang.Class<?>[] fieldTypes, byte[] fieldFlags, java.lang.Class<?> sup, java.lang.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(java.lang.ClassLoader cl)
De-Register all metadata associated with the given ClassLoader. Allows ClassLoaders to be garbage collected.- Parameters:
cl- the ClassLoader
-
getRegisteredTypes
public static java.util.Collection<java.lang.Class<?>> getRegisteredTypes()
Returns a collection of class objects of the registered persistence-capable classes.
-
isRegistered
public static boolean isRegistered(java.lang.Class<?> cls)
Returnstrueif the given class is already registered.
-
-