Class JPAAdapter

  • All Implemented Interfaces:
    Serializable, org.datanucleus.api.ApiAdapter

    public class JPAAdapter
    extends Object
    implements org.datanucleus.api.ApiAdapter
    Adapter for the JPA API, to allow the DataNucleus core runtime to expose multiple APIs to clients.
    See Also:
    Serialized Form
    • Field Detail

      • defaultPersistentTypeNames

        protected static final Set<String> defaultPersistentTypeNames
    • Constructor Detail

      • JPAAdapter

        public JPAAdapter()
    • Method Detail

      • getName

        public String getName()
        Specified by:
        getName in interface org.datanucleus.api.ApiAdapter
      • isMemberDefaultPersistent

        public boolean isMemberDefaultPersistent​(Class type)
        Specified by:
        isMemberDefaultPersistent in interface org.datanucleus.api.ApiAdapter
      • getXMLMetaDataForClass

        public String getXMLMetaDataForClass​(org.datanucleus.metadata.AbstractClassMetaData cmd,
                                             String prefix,
                                             String indent)
        Specified by:
        getXMLMetaDataForClass in interface org.datanucleus.api.ApiAdapter
      • getDefaultMappingFileLocation

        public String getDefaultMappingFileLocation()
        Specified by:
        getDefaultMappingFileLocation in interface org.datanucleus.api.ApiAdapter
      • getExecutionContext

        public org.datanucleus.ExecutionContext getExecutionContext​(Object obj)
        Specified by:
        getExecutionContext in interface org.datanucleus.api.ApiAdapter
      • getLifeCycleState

        public org.datanucleus.state.LifeCycleState getLifeCycleState​(int stateType)
        Specified by:
        getLifeCycleState in interface org.datanucleus.api.ApiAdapter
      • isValidPrimaryKeyClass

        public boolean isValidPrimaryKeyClass​(Class pkClass,
                                              org.datanucleus.metadata.AbstractClassMetaData cmd,
                                              org.datanucleus.ClassLoaderResolver clr,
                                              int noOfPkFields,
                                              org.datanucleus.metadata.MetaDataManager mmgr)
        Specified by:
        isValidPrimaryKeyClass in interface org.datanucleus.api.ApiAdapter
      • allowPersistOfDeletedObject

        public boolean allowPersistOfDeletedObject()
        Specified by:
        allowPersistOfDeletedObject in interface org.datanucleus.api.ApiAdapter
      • allowDeleteOfNonPersistentObject

        public boolean allowDeleteOfNonPersistentObject()
        Specified by:
        allowDeleteOfNonPersistentObject in interface org.datanucleus.api.ApiAdapter
      • allowReadFieldOfDeletedObject

        public boolean allowReadFieldOfDeletedObject()
        Specified by:
        allowReadFieldOfDeletedObject in interface org.datanucleus.api.ApiAdapter
      • clearLoadedFlagsOnDeleteObject

        public boolean clearLoadedFlagsOnDeleteObject()
        Specified by:
        clearLoadedFlagsOnDeleteObject in interface org.datanucleus.api.ApiAdapter
      • getDefaultCascadePersistForField

        public boolean getDefaultCascadePersistForField()
        Specified by:
        getDefaultCascadePersistForField in interface org.datanucleus.api.ApiAdapter
      • getDefaultCascadeAttachForField

        public boolean getDefaultCascadeAttachForField()
        Specified by:
        getDefaultCascadeAttachForField in interface org.datanucleus.api.ApiAdapter
      • getDefaultCascadeDeleteForField

        public boolean getDefaultCascadeDeleteForField()
        Specified by:
        getDefaultCascadeDeleteForField in interface org.datanucleus.api.ApiAdapter
      • getDefaultCascadeDetachForField

        public boolean getDefaultCascadeDetachForField()
        Specified by:
        getDefaultCascadeDetachForField in interface org.datanucleus.api.ApiAdapter
      • getDefaultCascadeRefreshForField

        public boolean getDefaultCascadeRefreshForField()
        Specified by:
        getDefaultCascadeRefreshForField in interface org.datanucleus.api.ApiAdapter
      • getDefaultDFGForPersistableField

        public boolean getDefaultDFGForPersistableField()
        Specified by:
        getDefaultDFGForPersistableField in interface org.datanucleus.api.ApiAdapter
      • getDefaultFactoryProperties

        public Map<String,​Object> getDefaultFactoryProperties()
        Specified by:
        getDefaultFactoryProperties in interface org.datanucleus.api.ApiAdapter
      • getDefaultPersistentPropertyWhenNotSpecified

        public boolean getDefaultPersistentPropertyWhenNotSpecified()
        Specified by:
        getDefaultPersistentPropertyWhenNotSpecified in interface org.datanucleus.api.ApiAdapter
      • getUserExceptionForException

        public RuntimeException getUserExceptionForException​(String msg,
                                                             Exception e)
        Specified by:
        getUserExceptionForException in interface org.datanucleus.api.ApiAdapter
      • getDataStoreExceptionForException

        public RuntimeException getDataStoreExceptionForException​(String msg,
                                                                  Exception e)
        Specified by:
        getDataStoreExceptionForException in interface org.datanucleus.api.ApiAdapter
      • getApiExceptionForNucleusException

        public RuntimeException getApiExceptionForNucleusException​(org.datanucleus.exceptions.NucleusException ne)
        Specified by:
        getApiExceptionForNucleusException in interface org.datanucleus.api.ApiAdapter
      • getJPAExceptionForNucleusException

        public static javax.persistence.PersistenceException getJPAExceptionForNucleusException​(org.datanucleus.exceptions.NucleusException ne)
        Convenience method to convert a Nucleus exception into a JPA 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 JPAException