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.
-
-