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
  • Constructor Details

    • PCRegistry

      public PCRegistry()
  • Method Details

    • addRegisterClassListener

      public static void addRegisterClassListener(PCRegistry.RegisterClassListener rcl)
    • removeRegisterClassListener

      public static boolean removeRegisterClassListener(PCRegistry.RegisterClassListener rcl)
    • getFieldNames

      public static String[] getFieldNames(Class<?> pcClass)
      Get the field names for a PersistenceCapable class.
    • getFieldTypes

      public static Class<?>[] getFieldTypes(Class<?> pcClass)
      Get the field types for a PersistenceCapable class.
    • getPersistentSuperclass

      public static Class<?> getPersistentSuperclass(Class<?> pcClass)
      Return the persistent superclass for a PersistenceCapable class, or null if none. The superclass may or may not implement PersistenceCapable, 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 to LOAD_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 to LOAD_REQUIRED.
    • getPCType

      public static Class<?> getPCType(Class<?> type)
      Return the persistence-capable type for type. This might be a generated subclass of type.
      Since:
      1.1.0
    • newObjectId

      public static Object newObjectId(Class<?> pcClass)
      Create a new identity object for the given PersistenceCapable class.
    • newObjectId

      public static Object newObjectId(Class<?> pcClass, String str)
      Create a new identity object for the given PersistenceCapable class, using the String form 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 types
      fieldFlags - managed field flags
      sup - the most immediate persistent superclass
      pcClass - the PersistenceCapable class
      fieldNames - managed field names
      alias - the class alias
      pc - 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)
      Returns true if the given class is already registered.