Class IdentityManagerImpl

java.lang.Object
org.datanucleus.identity.IdentityManagerImpl
All Implemented Interfaces:
IdentityManager

public class IdentityManagerImpl extends Object implements IdentityManager
Manager for identity operations.
  • Field Details

    • CTR_CLASS_OBJECT_ARG_TYPES

      private static final Class[] CTR_CLASS_OBJECT_ARG_TYPES
    • CTR_CLASS_STRING_ARG_TYPES

      private static final Class[] CTR_CLASS_STRING_ARG_TYPES
    • CTR_STRING_OBJECT_ARG_TYPES

      private static final Class[] CTR_STRING_OBJECT_ARG_TYPES
    • CTR_STRING_ARG_TYPES

      private static final Class[] CTR_STRING_ARG_TYPES
    • CTR_LONG_ARG_TYPES

      private static final Class[] CTR_LONG_ARG_TYPES
    • datastoreIdClass

      protected Class<? extends DatastoreId> datastoreIdClass
      Default DatastoreId implementation used by DataNucleus.
    • idStringTranslator

      protected IdentityStringTranslator idStringTranslator
      Identity string translator (if any).
    • idKeyTranslator

      protected IdentityKeyTranslator idKeyTranslator
      Identity key translator (if any).
    • constructorCache

      private Map<String,Constructor<?>> constructorCache
      Cache of id class Constructor, keyed by string of the type+args.
  • Constructor Details

  • Method Details

    • getConstructorNameForCache

      protected String getConstructorNameForCache(Class type, Class[] ctrArgTypes)
    • getDatastoreIdClass

      public Class<? extends DatastoreId> getDatastoreIdClass()
      Specified by:
      getDatastoreIdClass in interface IdentityManager
    • getIdentityStringTranslator

      public IdentityStringTranslator getIdentityStringTranslator()
      Description copied from interface: IdentityManager
      Accessor for the current identity string translator to use (if any).
      Specified by:
      getIdentityStringTranslator in interface IdentityManager
      Returns:
      Identity string translator instance (or null if persistence property not set)
    • getIdentityKeyTranslator

      public IdentityKeyTranslator getIdentityKeyTranslator()
      Description copied from interface: IdentityManager
      Accessor for the current identity key translator to use (if any).
      Specified by:
      getIdentityKeyTranslator in interface IdentityManager
      Returns:
      Identity key translator instance (or null if persistence property not set)
    • getDatastoreId

      public DatastoreId getDatastoreId(String className, Object value)
      Description copied from interface: IdentityManager
      Method to return a datastore identity, representing the persistable object with specified class name and key value.
      Specified by:
      getDatastoreId in interface IdentityManager
      Parameters:
      className - The class name for the persistable
      value - The key value for the persistable
      Returns:
      The datastore id
    • getDatastoreId

      public DatastoreId getDatastoreId(long value)
      Description copied from interface: IdentityManager
      Method to return a datastore-unique datastore identity, with the specified value.
      Specified by:
      getDatastoreId in interface IdentityManager
      Parameters:
      value - The long value that is unique across the datastore.
      Returns:
      The datastore id
    • getDatastoreId

      public DatastoreId getDatastoreId(String idString)
      Description copied from interface: IdentityManager
      Method to return a datastore identity, for the specified string which comes from the output of toString().
      Specified by:
      getDatastoreId in interface IdentityManager
      Parameters:
      idString - The toString() value
      Returns:
      The datastore id
    • getSingleFieldId

      public SingleFieldId getSingleFieldId(Class idType, Class pcType, Object key)
      Description copied from interface: IdentityManager
      Method to return a single-field identity, for the persistable type specified, and for the idType of SingleFieldId.
      Specified by:
      getSingleFieldId in interface IdentityManager
      Parameters:
      idType - Type of the id
      pcType - Type of the Persistable
      key - The value for the identity (the Long, or Int, or ... etc).
      Returns:
      Single field identity
    • getApplicationId

      public Object getApplicationId(ClassLoaderResolver clr, AbstractClassMetaData acmd, String keyToString)
      Description copied from interface: IdentityManager
      Utility to create a new application identity when you know the metadata for the target class, and the toString() output of the identity.
      Specified by:
      getApplicationId in interface IdentityManager
      Parameters:
      clr - ClassLoader resolver
      acmd - MetaData for the target class
      keyToString - String form of the key
      Returns:
      The identity
    • getApplicationId

      public Object getApplicationId(Object pc, AbstractClassMetaData cmd)
      Description copied from interface: IdentityManager
      Method to create a new object identity for the passed object with the supplied MetaData. Only applies to application-identity cases.
      Specified by:
      getApplicationId in interface IdentityManager
      Parameters:
      pc - The persistable object
      cmd - Its metadata
      Returns:
      The new identity object
    • getApplicationId

      public Object getApplicationId(Class cls, Object key)
      Description copied from interface: IdentityManager
      Method to return a new object identity for the specified class, and key (possibly toString() output).
      Specified by:
      getApplicationId in interface IdentityManager
      Parameters:
      cls - Persistable class
      key - form of the object id
      Returns:
      The object identity