Package org.datanucleus.api.jdo
Class NucleusJDOHelper
- java.lang.Object
-
- javax.jdo.JDOHelper
-
- org.datanucleus.api.jdo.NucleusJDOHelper
-
- All Implemented Interfaces:
javax.jdo.Constants
public class NucleusJDOHelper extends javax.jdo.JDOHelperHelper for persistence operations with JDO. Extends JDOHelper so that people can use this class if they wish.
-
-
Field Summary
-
Fields inherited from interface javax.jdo.Constants
ANONYMOUS_PERSISTENCE_MANAGER_FACTORY_NAME, ELEMENT_INSTANCE_LIFECYCLE_LISTENER, ELEMENT_PERSISTENCE_MANAGER_FACTORY, ELEMENT_PROPERTY, ENHANCER_EXCEPTION, ENHANCER_NO_JDO_ENHANCER_FOUND, ENHANCER_USAGE_ERROR, INSTANCE_LIFECYCLE_LISTENER_ATTRIBUTE_CLASSES, INSTANCE_LIFECYCLE_LISTENER_ATTRIBUTE_LISTENER, JAVAX_JDO, JAVAX_JDO_PREFIX, JDO_DTD_RESOURCE, JDO_XSD_NS, JDO_XSD_RESOURCE, JDOCONFIG_DTD_RESOURCE, JDOCONFIG_RESOURCE_NAME, JDOCONFIG_XSD_NS, JDOCONFIG_XSD_RESOURCE, JDOQUERY_DTD_RESOURCE, JDOQUERY_XSD_NS, JDOQUERY_XSD_RESOURCE, JTA, NONCONFIGURABLE_PROPERTY_VENDOR_NAME, NONCONFIGURABLE_PROPERTY_VERSION_NUMBER, OPTION_APPLICATION_IDENTITY, OPTION_ARRAY, OPTION_ARRAYLIST, OPTION_BINARY_COMPATIBILITY, OPTION_CHANGE_APPLICATION_IDENTITY, OPTION_DATASTORE_IDENTITY, OPTION_DATASTORE_TIMEOUT, OPTION_GET_DATASTORE_CONNECTION, OPTION_GET_JDBC_CONNECTION, OPTION_LINKEDLIST, OPTION_MAPPING_HETEROGENEOUS_INTERFACE_TYPE, OPTION_MAPPING_HETEROGENEOUS_OBJECT_TYPE, OPTION_MAPPING_JOINED_TABLE_PER_CLASS, OPTION_MAPPING_JOINED_TABLE_PER_CONCRETE_CLASS, OPTION_MAPPING_NON_JOINED_TABLE_PER_CONCRETE_CLASS, OPTION_MAPPING_RELATION_SUBCLASS_TABLE, OPTION_NONDURABLE_IDENTITY, OPTION_NONTRANSACTIONAL_READ, OPTION_NONTRANSACTIONAL_WRITE, OPTION_NULL_COLLECTION, OPTION_OPTIMISTIC, OPTION_PREDIRTY_EVENT, OPTION_QUERY_CANCEL, OPTION_QUERY_JDOQL_BITWISE_OPERATIONS, OPTION_QUERY_SQL, OPTION_RETAIN_VALUES, OPTION_TRANSACTIONAL_TRANSIENT, OPTION_TREEMAP, OPTION_TREESET, OPTION_UNCONSTRAINED_QUERY_VARIABLES, OPTION_VECTOR, OPTION_VERSION_DATETIME, OPTION_VERSION_STATE_IMAGE, ORM_DTD_RESOURCE, ORM_XSD_NS, ORM_XSD_RESOURCE, PMF_ATTRIBUTE_CLASS, PMF_ATTRIBUTE_CONNECTION_DRIVER_NAME, PMF_ATTRIBUTE_CONNECTION_FACTORY_NAME, PMF_ATTRIBUTE_CONNECTION_FACTORY2_NAME, PMF_ATTRIBUTE_CONNECTION_PASSWORD, PMF_ATTRIBUTE_CONNECTION_URL, PMF_ATTRIBUTE_CONNECTION_USER_NAME, PMF_ATTRIBUTE_COPY_ON_ATTACH, PMF_ATTRIBUTE_DATASTORE_READ_TIMEOUT_MILLIS, PMF_ATTRIBUTE_DATASTORE_WRITE_TIMEOUT_MILLIS, PMF_ATTRIBUTE_DETACH_ALL_ON_COMMIT, PMF_ATTRIBUTE_IGNORE_CACHE, PMF_ATTRIBUTE_MAPPING, PMF_ATTRIBUTE_MULTITHREADED, PMF_ATTRIBUTE_NAME, PMF_ATTRIBUTE_NONTRANSACTIONAL_READ, PMF_ATTRIBUTE_NONTRANSACTIONAL_WRITE, PMF_ATTRIBUTE_OPTIMISTIC, PMF_ATTRIBUTE_PERSISTENCE_UNIT_NAME, PMF_ATTRIBUTE_READONLY, PMF_ATTRIBUTE_RESTORE_VALUES, PMF_ATTRIBUTE_RETAIN_VALUES, PMF_ATTRIBUTE_SERVER_TIME_ZONE_ID, PROPERTY_ATTRIBUTE_NAME, PROPERTY_ATTRIBUTE_VALUE, PROPERTY_CONNECTION_DRIVER_NAME, PROPERTY_CONNECTION_FACTORY_NAME, PROPERTY_CONNECTION_FACTORY2_NAME, PROPERTY_CONNECTION_PASSWORD, PROPERTY_CONNECTION_URL, PROPERTY_CONNECTION_USER_NAME, PROPERTY_COPY_ON_ATTACH, PROPERTY_DATASTORE_READ_TIMEOUT_MILLIS, PROPERTY_DATASTORE_WRITE_TIMEOUT_MILLIS, PROPERTY_DETACH_ALL_ON_COMMIT, PROPERTY_ENHANCER_VENDOR_NAME, PROPERTY_ENHANCER_VERSION_NUMBER, PROPERTY_IGNORE_CACHE, PROPERTY_INSTANCE_LIFECYCLE_LISTENER, PROPERTY_MAPPING, PROPERTY_MAPPING_CATALOG, PROPERTY_MAPPING_SCHEMA, PROPERTY_MULTITHREADED, PROPERTY_NAME, PROPERTY_NONTRANSACTIONAL_READ, PROPERTY_NONTRANSACTIONAL_WRITE, PROPERTY_OPTIMISTIC, PROPERTY_PERSISTENCE_MANAGER_FACTORY_CLASS, PROPERTY_PERSISTENCE_UNIT_NAME, PROPERTY_PREFIX_INSTANCE_LIFECYCLE_LISTENER, PROPERTY_READONLY, PROPERTY_RESTORE_VALUES, PROPERTY_RETAIN_VALUES, PROPERTY_SERVER_TIME_ZONE_ID, PROPERTY_SPI_RESOURCE_NAME, PROPERTY_TRANSACTION_ISOLATION_LEVEL, PROPERTY_TRANSACTION_ISOLATION_LEVEL_READ_COMMITTED, PROPERTY_TRANSACTION_ISOLATION_LEVEL_READ_UNCOMMITTED, PROPERTY_TRANSACTION_ISOLATION_LEVEL_REPEATABLE_READ, PROPERTY_TRANSACTION_ISOLATION_LEVEL_SERIALIZABLE, PROPERTY_TRANSACTION_ISOLATION_LEVEL_SNAPSHOT, PROPERTY_TRANSACTION_TYPE, RESOURCE_LOCAL, SERVICE_LOOKUP_ENHANCER_RESOURCE_NAME, SERVICE_LOOKUP_PMF_RESOURCE_NAME, TX_READ_COMMITTED, TX_READ_UNCOMMITTED, TX_REPEATABLE_READ, TX_SERIALIZABLE, TX_SNAPSHOT
-
-
Constructor Summary
Constructors Constructor Description NucleusJDOHelper()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static String[]getClassesWithMetaData(javax.jdo.PersistenceManagerFactory pmf)Accessor for the names of the classes that have MetaData for this PMF.static org.datanucleus.identity.SingleFieldIdgetDataNucleusIdentityForSingleFieldIdentity(javax.jdo.identity.SingleFieldIdentity sfid)static Object[]getDetachedStateForObject(Object obj)Accessor for the jdoDetachedState field of a detached object.static String[]getDirtyFields(Object obj, javax.jdo.PersistenceManager pm)Accessor for the names of the dirty fields of the persistable object.static javax.jdo.JDOExceptiongetJDOExceptionForNucleusException(org.datanucleus.exceptions.NucleusException ne)Convenience method to convert an exception into a JDO exception.static String[]getLoadedFields(Object obj, javax.jdo.PersistenceManager pm)Accessor for the names of the loaded fields of the persistable object.static org.datanucleus.metadata.ClassMetaDatagetMetaDataForClass(javax.jdo.PersistenceManagerFactory pmf, Class cls)Accessor for the MetaData for the specified classstatic StringgetObjectIdClassForInputIdClass(String objectIdClass)static JDOQueryCachegetQueryResultCache(javax.jdo.PersistenceManagerFactory pmf)Convenience accessor for the query results cache.static javax.jdo.identity.SingleFieldIdentitygetSingleFieldIdentityForDataNucleusIdentity(org.datanucleus.identity.SingleFieldId dnid, Class targetClass)static BooleanisDirty(Object obj, String memberName, javax.jdo.PersistenceManager pm)Accessor for whether the specified member (field/property) of the passed persistable object is dirty.static BooleanisLoaded(Object obj, String memberName, javax.jdo.PersistenceManager pm)Accessor for whether the specified member (field/property) of the passed persistable object is loaded.static voidreplicate(javax.jdo.PersistenceManagerFactory pmf1, javax.jdo.PersistenceManagerFactory pmf2, Class... types)Convenience method to replicate objects of particular types from one datastore (managed by PMF1) to a second datastore (managed by PMF2).static voidreplicate(javax.jdo.PersistenceManagerFactory pmf1, javax.jdo.PersistenceManagerFactory pmf2, Object... oids)Convenience method to replicate a group of objects from one datastore (managed by PMF1) to a second datastore (managed by PMF2).static voidreplicate(javax.jdo.PersistenceManagerFactory pmf1, javax.jdo.PersistenceManagerFactory pmf2, String... classNames)Convenience method to replicate objects of particular types from one datastore (managed by PMF1) to a second datastore (managed by PMF2).-
Methods inherited from class javax.jdo.JDOHelper
getClassNameFromURL, getDefaultDocumentBuilderFactory, getDefaultErrorHandler, getDocumentBuilderFactory, getEnhancer, getEnhancer, getErrorHandler, getInstance, getNamedPMFProperties, getObjectId, getObjectIds, getObjectIds, getObjectState, getPersistenceManager, getPersistenceManagerFactory, getPersistenceManagerFactory, getPersistenceManagerFactory, getPersistenceManagerFactory, getPersistenceManagerFactory, getPersistenceManagerFactory, getPersistenceManagerFactory, getPersistenceManagerFactory, getPersistenceManagerFactory, getPersistenceManagerFactory, getPersistenceManagerFactory, getPersistenceManagerFactory, getPersistenceManagerFactory, getPersistenceManagerFactory, getPersistenceManagerFactory, getPersistenceManagerFactory, getPersistenceManagerFactory, getPropertiesFromJdoconfig, getResources, getTransactionalObjectId, getVersion, invokeGetPersistenceManagerFactoryOnImplementation, isDeleted, isDetached, isDirty, isNew, isNullOrBlank, isPersistent, isTransactional, loadPropertiesFromResource, makeDirty, readNamedPMFProperties, readPropertiesFromPMFElementAttributes, readPropertiesFromPMFSubelements
-
-
-
-
Method Detail
-
getQueryResultCache
public static JDOQueryCache getQueryResultCache(javax.jdo.PersistenceManagerFactory pmf)
Convenience accessor for the query results cache.- Parameters:
pmf- The PMF- Returns:
- The Query results cache
-
getSingleFieldIdentityForDataNucleusIdentity
public static javax.jdo.identity.SingleFieldIdentity getSingleFieldIdentityForDataNucleusIdentity(org.datanucleus.identity.SingleFieldId dnid, Class targetClass)
-
getDataNucleusIdentityForSingleFieldIdentity
public static org.datanucleus.identity.SingleFieldId getDataNucleusIdentityForSingleFieldIdentity(javax.jdo.identity.SingleFieldIdentity sfid)
-
getObjectIdClassForInputIdClass
public static String getObjectIdClassForInputIdClass(String objectIdClass)
-
replicate
public static void replicate(javax.jdo.PersistenceManagerFactory pmf1, javax.jdo.PersistenceManagerFactory pmf2, Object... oids)Convenience method to replicate a group of objects from one datastore (managed by PMF1) to a second datastore (managed by PMF2).- Parameters:
pmf1- PersistenceManagerFactory for the source of the objectspmf2- PersistenceManagerFactory for the target of the objectsoids- Identities of the objects to replicate
-
replicate
public static void replicate(javax.jdo.PersistenceManagerFactory pmf1, javax.jdo.PersistenceManagerFactory pmf2, Class... types)Convenience method to replicate objects of particular types from one datastore (managed by PMF1) to a second datastore (managed by PMF2).- Parameters:
pmf1- PersistenceManagerFactory for the source of the objectspmf2- PersistenceManagerFactory for the target of the objectstypes- Types of objects to replicate
-
replicate
public static void replicate(javax.jdo.PersistenceManagerFactory pmf1, javax.jdo.PersistenceManagerFactory pmf2, String... classNames)Convenience method to replicate objects of particular types from one datastore (managed by PMF1) to a second datastore (managed by PMF2).- Parameters:
pmf1- PersistenceManagerFactory for the source of the objectspmf2- PersistenceManagerFactory for the target of the objectsclassNames- Names of classes to replicate
-
getMetaDataForClass
public static org.datanucleus.metadata.ClassMetaData getMetaDataForClass(javax.jdo.PersistenceManagerFactory pmf, Class cls)Accessor for the MetaData for the specified class- Parameters:
pmf- PersistenceManager factorycls- The class- Returns:
- The MetaData for the class
-
getClassesWithMetaData
public static String[] getClassesWithMetaData(javax.jdo.PersistenceManagerFactory pmf)
Accessor for the names of the classes that have MetaData for this PMF.- Parameters:
pmf- The PMF- Returns:
- The class names
-
getDetachedStateForObject
public static Object[] getDetachedStateForObject(Object obj)
Accessor for the jdoDetachedState field of a detached object. The returned array is made up of :- 0 - the identity of the object
- 1 - the version of the object (upon detach)
- 2 - loadedFields BitSet
- 3 - dirtyFields BitSet
- Parameters:
obj- The detached object- Returns:
- The detached state
-
getDirtyFields
public static String[] getDirtyFields(Object obj, javax.jdo.PersistenceManager pm)
Accessor for the names of the dirty fields of the persistable object.- Parameters:
obj- The persistable objectpm- The Persistence Manager (only required if the object is detached)- Returns:
- Names of the dirty fields
-
getLoadedFields
public static String[] getLoadedFields(Object obj, javax.jdo.PersistenceManager pm)
Accessor for the names of the loaded fields of the persistable object.- Parameters:
obj- Persistable objectpm- The Persistence Manager (only required if the object is detached)- Returns:
- Names of the loaded fields
-
isLoaded
public static Boolean isLoaded(Object obj, String memberName, javax.jdo.PersistenceManager pm)
Accessor for whether the specified member (field/property) of the passed persistable object is loaded.- Parameters:
obj- The persistable objectmemberName- Name of the field/propertypm- PersistenceManager (if the object is detached)- Returns:
- Whether the member is loaded
-
isDirty
public static Boolean isDirty(Object obj, String memberName, javax.jdo.PersistenceManager pm)
Accessor for whether the specified member (field/property) of the passed persistable object is dirty.- Parameters:
obj- The persistable objectmemberName- Name of the field/propertypm- PersistenceManager (if the object is detached)- Returns:
- Whether the member is dirty
-
getJDOExceptionForNucleusException
public static javax.jdo.JDOException getJDOExceptionForNucleusException(org.datanucleus.exceptions.NucleusException ne)
Convenience method to convert an exception into a JDO exception. If the incoming exception has a "failed object" then create the new exception with a failed object. Otherwise if the incoming exception has nested exceptions then create this exception with those nested exceptions. Else create this exception with the incoming exception as its nested exception.- Parameters:
ne- NucleusException- Returns:
- The JDOException
-
-