public interface MetaDataManager
Modifier and Type | Method and Description |
---|---|
void |
abstractClassMetaDataInitialised(AbstractClassMetaData acmd) |
void |
addAnnotationsDataToClass(Class c,
AbstractClassMetaData cmd,
ClassLoaderResolver clr) |
void |
addORMDataToClass(Class c,
ClassLoaderResolver clr) |
void |
close() |
void |
deregisterListener(MetaDataListener listener)
Method to deregister a listener from being notified when metadata for a class/interface is initialised.
|
AnnotationManager |
getAnnotationManager() |
ApiAdapter |
getApiAdapter() |
String[] |
getClassesImplementingInterface(String interfaceName,
ClassLoaderResolver clr)
Accessor for the list of names of classes that are declared to implement the specified interface
(using <implements> in the MetaData).
|
Collection<String> |
getClassesWithMetaData()
Accessor for the names of the classes with MetaData currently registered with this manager.
|
ClassMetaData |
getClassMetaDataForImplementationOfPersistentInterface(String interfaceName)
Accessor for the metadata for the implementation of the specified "persistent-interface".
|
Collection<AbstractClassMetaData> |
getClassMetaDataWithApplicationId(String objectIdClassName)
Accessor for the metadata for the class(es) with the specified object-id class name as PK.
|
String |
getClassNameForDiscriminatorValueWithRoot(AbstractClassMetaData rootCmd,
String discrimValue) |
String |
getClassNameFromDiscriminatorValue(String discrimValue,
DiscriminatorMetaData dismd) |
String[] |
getConcreteSubclassesForClass(String className)
Accessor for the names of all concrete subclasses of the provided class.
|
String |
getDiscriminatorValueForClass(AbstractClassMetaData cmd,
String discrimValue) |
String |
getEnhancedMethodNamePrefix() |
FileMetaData[] |
getFileMetaData()
Accessor for all FileMetaData currently managed here.
|
String |
getImplementationNameForPersistentInterface(String interfaceName)
Accessor for the implementation name for the specified "persistent-interface".
|
AbstractClassMetaData |
getMetaDataForClass(Class c,
ClassLoaderResolver clr)
Main accessor for the MetaData for a class.
|
AbstractClassMetaData |
getMetaDataForClass(String className,
ClassLoaderResolver clr)
Accessor for the MetaData for a class given the name and a loader.
|
AbstractClassMetaData |
getMetaDataForClassInternal(Class c,
ClassLoaderResolver clr)
Internal convenience method for accessing the MetaData for a class.
|
AbstractClassMetaData |
getMetaDataForDiscriminator(String discriminator)
Accessor for the MetaData for a class given the "discriminator".
|
AbstractClassMetaData |
getMetaDataForEntityName(String entityName)
Accessor for the MetaData for a class given the "entity-name".
|
FetchPlanMetaData |
getMetaDataForFetchPlan(String name)
Accessor for the MetaData for a named fetch plan.
|
ClassMetaData |
getMetaDataForImplementationOfReference(Class referenceClass,
Object implValue,
ClassLoaderResolver clr)
Accessor for the MetaData for an implementation of a reference type.
|
InterfaceMetaData |
getMetaDataForInterface(Class c,
ClassLoaderResolver clr)
Accessor for the MetaData for an interface.
|
QueryMetaData |
getMetaDataForQuery(Class cls,
ClassLoaderResolver clr,
String queryName)
Accessor for the MetaData for a named query for a class.
|
QueryResultMetaData |
getMetaDataForQueryResult(String name)
Accessor for the MetaData for a QueryResult.
|
SequenceMetaData |
getMetaDataForSequence(ClassLoaderResolver clr,
String seqName)
Accessor for the MetaData for a Sequence in a package.
|
StoredProcQueryMetaData |
getMetaDataForStoredProcQuery(Class cls,
ClassLoaderResolver clr,
String queryName)
Accessor for the MetaData for a named stored procedure query for a class.
|
TableGeneratorMetaData |
getMetaDataForTableGenerator(ClassLoaderResolver clr,
String genName)
Accessor for the MetaData for a TableGenerator in a package.
|
Set<String> |
getNamedQueryNames()
Convenience method to access the names of named queries that are registered with this manager.
|
NucleusContext |
getNucleusContext() |
List<AbstractClassMetaData> |
getReferencedClasses(String[] classNames,
ClassLoaderResolver clr)
Convenience method to get the MetaData for all referenced classes with the passed set of classes as root.
|
String[] |
getSubclassesForClass(String className,
boolean includeDescendents)
Accessor for the subclasses of a particular class
|
boolean |
hasMetaDataForClass(String className)
Convenience method to check if we have metadata present for the specified class.
|
boolean |
isClassPersistable(String className)
Convenience method to return if the specified class is a known persistable class.
|
boolean |
isDefaultNullable()
Acessor for the default nullability of fields.
|
boolean |
isEnhancerField(String memberName) |
boolean |
isEnhancing()
Accessor for whether we are managing the enhancement process.
|
boolean |
isFieldTypePersistable(Class type)
Utility to return if this field is persistable.
|
boolean |
isPersistentDefinitionImplementation(String implName)
Convenience method to return if the passed class name is an implementation of a "persistent definition".
|
boolean |
isPersistentInterface(String name)
Convenience method to return if the passed class name is a "persistent-interface".
|
boolean |
isPersistentInterfaceImplementation(String interfaceName,
String implName)
Convenience method to return if the passed class name is an implementation of the passed "persistent-interface".
|
FileMetaData[] |
loadClasses(String[] classNames,
ClassLoader loader)
Method to load up all metadata for the specified classes.
|
Collection<FileMetaData> |
loadFiles(String[] metadataFiles,
ClassLoaderResolver clr)
Method to load the metadata from the specified files.
|
FileMetaData[] |
loadJar(String jarFileName,
ClassLoader loader)
Initialisation method to load the metadata provided by the specified jar.
|
FileMetaData[] |
loadMetadataFiles(String[] metadataFiles,
ClassLoader loader)
Method to load up all metadata defined by the specified metadata files.
|
FileMetaData[] |
loadPersistenceUnit(PersistenceUnitMetaData pumd,
ClassLoader loader)
Initialisation method to to load all class metadata defined by the "persistence-unit".
|
void |
loadUserMetaData(FileMetaData fileMetaData,
ClassLoader loader)
Method to load user-provided (dynamic) metadata (from the JDO MetaData API).
|
AbstractClassMetaData |
readMetaDataForClass(String className)
Method to access the (already known) metadata for the specified class.
|
AbstractMemberMetaData |
readMetaDataForMember(String className,
String memberName)
Method to access the (already known) metadata for the field/property of the specified class.
|
void |
registerDiscriminatorValueForClass(AbstractClassMetaData cmd,
String discrimValue) |
void |
registerFile(String fileURLString,
FileMetaData filemd,
ClassLoaderResolver clr)
Method to take the FileMetaData and register the relevant parts of it with the assorted caches provided.
|
void |
registerImplementationOfAbstractClass(ClassMetaData cmd,
Class implClass,
ClassLoaderResolver clr)
Method to register the metadata for an implementation of a persistent abstract class.
|
void |
registerListener(MetaDataListener listener)
Method to register a listener to be notified when metadata for a class/interface is initialised.
|
void |
registerNamedQuery(QueryMetaData qmd)
Method to register a named query.
|
void |
registerPersistentInterface(InterfaceMetaData imd,
Class implClass,
ClassLoaderResolver clr)
Method to register a persistent interface and its implementation with the MetaData system.
|
void |
registerSequencesForFile(FileMetaData filemd) |
void |
registerTableGeneratorsForFile(FileMetaData filemd) |
void |
setAllowAnnotations(boolean allow) |
void |
setAllowMetaDataLoad(boolean allow) |
void |
setAllowXML(boolean allow) |
void |
setDefaultNullable(boolean nullable) |
void |
setValidate(boolean validate)
Mutator for whether to validate the MetaData files for XML compliance.
|
void |
setXmlNamespaceAware(boolean aware)
Mutator for whether to support XML namespaces.
|
boolean |
supportsORM()
Accessor for whether the MetaData manager supports ORM concepts and metadata.
|
void |
unloadMetaDataForClass(String className)
Convenience method to allow the unloading of metadata, for example where the user wants to reload a class definition
and that class maybe has different metadata with the new definition.
|
void close()
NucleusContext getNucleusContext()
ApiAdapter getApiAdapter()
AnnotationManager getAnnotationManager()
String getEnhancedMethodNamePrefix()
boolean isEnhancerField(String memberName)
void registerListener(MetaDataListener listener)
listener
- The listenervoid deregisterListener(MetaDataListener listener)
listener
- The listenervoid setAllowMetaDataLoad(boolean allow)
void setAllowXML(boolean allow)
void setDefaultNullable(boolean nullable)
void setAllowAnnotations(boolean allow)
void setValidate(boolean validate)
validate
- Whether to validatevoid setXmlNamespaceAware(boolean aware)
aware
- Whether to be XML namespace awareboolean supportsORM()
boolean isDefaultNullable()
boolean isEnhancing()
FileMetaData[] loadMetadataFiles(String[] metadataFiles, ClassLoader loader)
metadataFiles
- The metadata filesloader
- ClassLoader to use in loading the metadata (if any)NucleusUserException
- (with nested exceptions) if an error occurs parsing the filesFileMetaData[] loadClasses(String[] classNames, ClassLoader loader)
classNames
- The class namesloader
- ClassLoader to use in loading the classes (if any)NucleusUserException
- (with nested exceptions) if an error occurs parsing the filesFileMetaData[] loadJar(String jarFileName, ClassLoader loader)
jarFileName
- Name of the jar fileloader
- ClassLoader to use in loading of the jar (if any)NucleusUserException
- if an error occurs parsing the jar infoFileMetaData[] loadPersistenceUnit(PersistenceUnitMetaData pumd, ClassLoader loader)
pumd
- The MetaData for this "persistence-unit"loader
- ClassLoader to use in loading of the persistence unit (if any)NucleusUserException
- if an error occurs parsing the persistence-unit infovoid loadUserMetaData(FileMetaData fileMetaData, ClassLoader loader)
fileMetaData
- FileMetaData to register/populate/initialiseloader
- ClassLoader to use in loading the metadata (if any)Collection<FileMetaData> loadFiles(String[] metadataFiles, ClassLoaderResolver clr)
metadataFiles
- array of MetaData filesclr
- ClassLoader resolvervoid unloadMetaDataForClass(String className)
className
- Name of the classboolean isClassPersistable(String className)
className
- Name of the classFileMetaData[] getFileMetaData()
Collection<String> getClassesWithMetaData()
boolean hasMetaDataForClass(String className)
className
- The name of the class to checkCollection<AbstractClassMetaData> getClassMetaDataWithApplicationId(String objectIdClassName)
objectIdClassName
- The object-id class nameAbstractClassMetaData getMetaDataForClass(String className, ClassLoaderResolver clr)
className
- Name of the class to find MetaData forclr
- ClassLoaderResolver resolver for use in loading the class.AbstractClassMetaData getMetaDataForClass(Class c, ClassLoaderResolver clr)
c
- The class to find MetaData forclr
- the ClassLoaderResolverAbstractClassMetaData getMetaDataForEntityName(String entityName)
entityName
- The entity name to find MetaData forAbstractClassMetaData getMetaDataForDiscriminator(String discriminator)
discriminator
- The discriminator name to find MetaData forAbstractClassMetaData readMetaDataForClass(String className)
className
- Name of the classAbstractMemberMetaData readMetaDataForMember(String className, String memberName)
className
- Name of the classmemberName
- Name of the field/propertyAbstractClassMetaData getMetaDataForClassInternal(Class c, ClassLoaderResolver clr)
c
- The class to find MetaData forclr
- ClassLoader resolverString[] getSubclassesForClass(String className, boolean includeDescendents)
className
- Name of the class that we want the known subclasses for.includeDescendents
- Whether to include subclasses of subclasses etcString[] getConcreteSubclassesForClass(String className)
className
- Name of the class that we want the known concrete subclasses for.String[] getClassesImplementingInterface(String interfaceName, ClassLoaderResolver clr)
interfaceName
- Name of the interfaceclr
- The ClassLoaderResolverClassMetaData getMetaDataForImplementationOfReference(Class referenceClass, Object implValue, ClassLoaderResolver clr)
referenceClass
- The reference class to find MetaData forimplValue
- Object of an implementation class, to return if possible (null=ignore)clr
- ClassLoader resolverQueryMetaData getMetaDataForQuery(Class cls, ClassLoaderResolver clr, String queryName)
cls
- The class which has the query defined for itclr
- the ClassLoaderResolverqueryName
- Name of the querySet<String> getNamedQueryNames()
void registerNamedQuery(QueryMetaData qmd)
qmd
- The definition of the query, with its nameStoredProcQueryMetaData getMetaDataForStoredProcQuery(Class cls, ClassLoaderResolver clr, String queryName)
cls
- The class which has the query defined for itclr
- the ClassLoaderResolverqueryName
- Name of the (stored proc) queryFetchPlanMetaData getMetaDataForFetchPlan(String name)
name
- Name of the fetch planSequenceMetaData getMetaDataForSequence(ClassLoaderResolver clr, String seqName)
clr
- the ClassLoaderResolverseqName
- Name of the package (fully qualified if necessary)TableGeneratorMetaData getMetaDataForTableGenerator(ClassLoaderResolver clr, String genName)
clr
- the ClassLoaderResolvergenName
- Name of the package (fully qualified if necessary)QueryResultMetaData getMetaDataForQueryResult(String name)
name
- Name of the query resultInterfaceMetaData getMetaDataForInterface(Class c, ClassLoaderResolver clr)
c
- The interface to find MetaData forclr
- the ClassLoaderResolverboolean isPersistentInterface(String name)
name
- Name if the interfaceboolean isPersistentInterfaceImplementation(String interfaceName, String implName)
interfaceName
- Name of the persistent interfaceimplName
- The implementation nameboolean isPersistentDefinitionImplementation(String implName)
implName
- The implementation nameString getImplementationNameForPersistentInterface(String interfaceName)
interfaceName
- The name of the persistent interfaceClassMetaData getClassMetaDataForImplementationOfPersistentInterface(String interfaceName)
interfaceName
- The name of the persistent interfacevoid registerFile(String fileURLString, FileMetaData filemd, ClassLoaderResolver clr)
fileURLString
- URL of the metadata filefilemd
- The File MetaDataclr
- ClassLoader resolverString getClassNameForDiscriminatorValueWithRoot(AbstractClassMetaData rootCmd, String discrimValue)
String getDiscriminatorValueForClass(AbstractClassMetaData cmd, String discrimValue)
String getClassNameFromDiscriminatorValue(String discrimValue, DiscriminatorMetaData dismd)
List<AbstractClassMetaData> getReferencedClasses(String[] classNames, ClassLoaderResolver clr)
classNames
- Names of the root classesclr
- ClassLoader resolverNoPersistenceInformationException
- thrown when one of the classes has no metadata.boolean isFieldTypePersistable(Class type)
type
- Type of the field (for when "type" is not yet set)void registerPersistentInterface(InterfaceMetaData imd, Class implClass, ClassLoaderResolver clr)
imd
- MetaData for the interfaceimplClass
- The implementation classclr
- ClassLoader Resolver to usevoid registerImplementationOfAbstractClass(ClassMetaData cmd, Class implClass, ClassLoaderResolver clr)
cmd
- MetaData for the abstract classimplClass
- The implementation classclr
- ClassLoader resolvervoid addORMDataToClass(Class c, ClassLoaderResolver clr)
void addAnnotationsDataToClass(Class c, AbstractClassMetaData cmd, ClassLoaderResolver clr)
void abstractClassMetaDataInitialised(AbstractClassMetaData acmd)
void registerSequencesForFile(FileMetaData filemd)
void registerTableGeneratorsForFile(FileMetaData filemd)
void registerDiscriminatorValueForClass(AbstractClassMetaData cmd, String discrimValue)
Copyright © 2019. All rights reserved.