Class PCRegistry


  • public class PCRegistry
    extends Object
    Tracks registered persistence-capable classes.
    Since:
    0.4.0
    Author:
    Abe White
    • Constructor Detail

      • PCRegistry

        public PCRegistry()
    • Method Detail

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