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.