Class JakartaMetaDataManager
- java.lang.Object
-
- org.datanucleus.metadata.MetaDataManagerImpl
-
- org.datanucleus.api.jakarta.metadata.JakartaMetaDataManager
-
- All Implemented Interfaces:
Serializable
,org.datanucleus.metadata.MetaDataManager
public class JakartaMetaDataManager extends org.datanucleus.metadata.MetaDataManagerImpl
Manager of Jakarta Persistence MetaData information in DataNucleus. Manages the MetaData for a particular "persistence-unit".- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected List<JakartaEntityGraphRegistrationListener>
entityGraphListeners
Listeners for notification of when an EntityGraph is registered.protected List<org.datanucleus.metadata.EventListenerMetaData>
eventListeners
EventListeners.protected org.datanucleus.metadata.xml.XmlMetaDataParser
metaDataParser
Parser for XML MetaData.-
Fields inherited from class org.datanucleus.metadata.MetaDataManagerImpl
allowAnnotations, allowMetaDataLoad, allowORM, allowXML, annotationManager, classesWithoutPersistenceInfo, classMetaDataByAppIdClassName, classMetaDataByClass, classMetaDataByDiscriminatorName, classMetaDataByEntityName, concreteSubclassNamesByClassName, defaultNullable, directSubclassesByClass, discriminatorLookupByRootClassName, fetchPlanMetaDataByName, fileMetaDataByURLString, listeners, nucleusContext, queryMetaDataByName, queryResultMetaDataByName, sequenceMetaDataByPackageSequence, storedProcQueryMetaDataByName, supportXMLNamespaces, tableGeneratorMetaDataByPackageSequence, updateLock, usableClassMetaDataByClass, userMetaDataNumber, utilisedFileMetaData, validateXML
-
-
Constructor Summary
Constructors Constructor Description JakartaMetaDataManager(org.datanucleus.NucleusContext ctxt)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<org.datanucleus.metadata.EventListenerMetaData>
getEventListeners()
Get the event listenersprotected org.datanucleus.metadata.AbstractClassMetaData
loadMetaDataForClass(Class c, org.datanucleus.ClassLoaderResolver clr)
Load the metadata for the specified class (if available).protected org.datanucleus.metadata.FileMetaData
parseXmlFile(URL fileURL)
Utility to parse a file, using the "jakarta" MetaData handler.protected void
postProcessClassMetaData(org.datanucleus.metadata.AbstractClassMetaData cmd, org.datanucleus.ClassLoaderResolver clr)
Method that will perform any necessary post-processing on metadata.void
registerEntityGraph(JakartaEntityGraph eg)
void
registerEntityGraphListener(JakartaEntityGraphRegistrationListener listener)
void
registerFile(String fileURLString, org.datanucleus.metadata.FileMetaData filemd, org.datanucleus.ClassLoaderResolver clr)
Method to take the FileMetaData and register the relevant parts of it with the various convenience collections/maps that we use for access.-
Methods inherited from class org.datanucleus.metadata.MetaDataManagerImpl
abstractClassMetaDataInitialised, addAnnotationsDataToClass, addORMDataToClass, close, deregisterListener, getAnnotationManager, getApiAdapter, getClassesImplementingInterface, getClassesWithMetaData, getClassMetaDataForImplementationOfPersistentInterface, getClassMetaDataWithApplicationId, getClassNameForDiscriminatorValueWithRoot, getClassNameFromDiscriminatorValue, getConcreteSubclassesForClass, getDiscriminatorValueForClass, getEnhancedMethodNamePrefix, getFileMetaData, getImplementationNameForPersistentInterface, getMetaDataForClass, getMetaDataForClass, getMetaDataForClassInternal, getMetaDataForDiscriminator, getMetaDataForEntityName, getMetaDataForFetchPlan, getMetaDataForImplementationOfReference, getMetaDataForInterface, getMetaDataForQuery, getMetaDataForQueryResult, getMetaDataForSequence, getMetaDataForStoredProcQuery, getMetaDataForTableGenerator, getNamedQueryNames, getNucleusContext, getReferencedClasses, getReferencedClassMetaData, getScanner, getSubclassesForClass, hasMetaDataForClass, initialiseAbstractClassMetaData, initialiseClassMetaData, initialiseFileMetaData, initialiseFileMetaDataForUse, initialiseInterfaceMetaData, isClassPersistable, isClassWithoutPersistenceInfo, isDefaultNullable, isEnhancerField, isEnhancing, isFieldTypePersistable, isPersistentInterface, isPersistentInterfaceImplementation, loadAnnotationsForClass, loadClasses, loadFiles, loadJar, loadMetaDataFiles, loadPersistenceUnit, loadUserMetaData, populateAbstractClassMetaData, populateFileMetaData, processListenerLoadingCall, readMetaDataForClass, readMetaDataForMember, registerDiscriminatorValueForClass, registerFetchPlansForFile, registerImplementationOfAbstractClass, registerListener, registerMetaDataForClass, registerNamedQuery, registerPersistentInterface, registerQueriesForFile, registerQueryResultMetaDataForFile, registerSequencesForFile, registerStoredProcQueriesForFile, registerTableGeneratorsForFile, setAllowAnnotations, setAllowMetaDataLoad, setAllowXML, setDefaultNullable, setValidate, setXmlNamespaceAware, supportsORM, unloadMetaDataForClass
-
-
-
-
Field Detail
-
metaDataParser
protected org.datanucleus.metadata.xml.XmlMetaDataParser metaDataParser
Parser for XML MetaData.
-
eventListeners
protected List<org.datanucleus.metadata.EventListenerMetaData> eventListeners
EventListeners. Use a list to preserve ordering.
-
entityGraphListeners
protected List<JakartaEntityGraphRegistrationListener> entityGraphListeners
Listeners for notification of when an EntityGraph is registered.
-
-
Method Detail
-
registerEntityGraphListener
public void registerEntityGraphListener(JakartaEntityGraphRegistrationListener listener)
-
registerEntityGraph
public void registerEntityGraph(JakartaEntityGraph eg)
-
getEventListeners
public List<org.datanucleus.metadata.EventListenerMetaData> getEventListeners()
Get the event listeners- Returns:
- the event listeners
-
parseXmlFile
protected org.datanucleus.metadata.FileMetaData parseXmlFile(URL fileURL)
Utility to parse a file, using the "jakarta" MetaData handler.- Specified by:
parseXmlFile
in classorg.datanucleus.metadata.MetaDataManagerImpl
- Parameters:
fileURL
- URL of the file- Returns:
- The FileMetaData for this file
-
postProcessClassMetaData
protected void postProcessClassMetaData(org.datanucleus.metadata.AbstractClassMetaData cmd, org.datanucleus.ClassLoaderResolver clr)
Method that will perform any necessary post-processing on metadata. In the case of Jakarta Persistence we need to populate all event listener methods against the listener.- Overrides:
postProcessClassMetaData
in classorg.datanucleus.metadata.MetaDataManagerImpl
- Parameters:
cmd
- Metadata for the classclr
- ClassLoader resolver
-
registerFile
public void registerFile(String fileURLString, org.datanucleus.metadata.FileMetaData filemd, org.datanucleus.ClassLoaderResolver clr)
Method to take the FileMetaData and register the relevant parts of it with the various convenience collections/maps that we use for access.- Specified by:
registerFile
in interfaceorg.datanucleus.metadata.MetaDataManager
- Specified by:
registerFile
in classorg.datanucleus.metadata.MetaDataManagerImpl
- Parameters:
fileURLString
- URL of the metadata filefilemd
- The File MetaData
-
loadMetaDataForClass
protected org.datanucleus.metadata.AbstractClassMetaData loadMetaDataForClass(Class c, org.datanucleus.ClassLoaderResolver clr)
Load the metadata for the specified class (if available). With Jakarta Persistence if a class hasn't been loaded at startup (from the persistence-unit) then we only check for annotations in the class itself.- Specified by:
loadMetaDataForClass
in classorg.datanucleus.metadata.MetaDataManagerImpl
- Parameters:
c
- The classclr
- ClassLoader resolver- Returns:
- The metadata for this class (if found)
-
-