Package org.datanucleus.metadata
Class PackageMetaData
- java.lang.Object
-
- org.datanucleus.metadata.MetaData
-
- org.datanucleus.metadata.PackageMetaData
-
- All Implemented Interfaces:
Serializable
public class PackageMetaData extends MetaData
Representation of the Meta-Data for a package.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected String
catalog
Catalog name for all classes in this packageprotected List<ClassMetaData>
classes
List of classes (uses List to retain positioning).protected List<InterfaceMetaData>
interfaces
List of interfaces (uses List to retain positioning).protected String
name
Package nameprotected String
schema
Schema name for all classes in this packageprotected Collection<SequenceMetaData>
sequences
Sequence generators.protected Collection<TableGeneratorMetaData>
tableGenerators
Table generators.-
Fields inherited from class org.datanucleus.metadata.MetaData
EXTENSION_CLASS_CREATETIMESTAMP, EXTENSION_CLASS_CREATETIMESTAMP_COLUMN_NAME, EXTENSION_CLASS_CREATEUSER, EXTENSION_CLASS_CREATEUSER_COLUMN_LENGTH, EXTENSION_CLASS_CREATEUSER_COLUMN_NAME, EXTENSION_CLASS_MULTITENANCY_COLUMN_LENGTH, EXTENSION_CLASS_MULTITENANCY_COLUMN_NAME, EXTENSION_CLASS_MULTITENANCY_DISABLE, EXTENSION_CLASS_MULTITENANCY_JDBC_TYPE, EXTENSION_CLASS_READ_ONLY, EXTENSION_CLASS_SOFTDELETE, EXTENSION_CLASS_SOFTDELETE_COLUMN_NAME, EXTENSION_CLASS_UPDATETIMESTAMP, EXTENSION_CLASS_UPDATETIMESTAMP_COLUMN_NAME, EXTENSION_CLASS_UPDATEUSER, EXTENSION_CLASS_UPDATEUSER_COLUMN_LENGTH, EXTENSION_CLASS_UPDATEUSER_COLUMN_NAME, EXTENSION_CLASS_VERSION_FIELD_NAME, EXTENSION_CLASS_VIEW_DEFINITION, EXTENSION_CLASS_VIEW_IMPORTS, EXTENSION_MEMBER_CACHEABLE, EXTENSION_MEMBER_CALENDAR_ONE_COLUMN, EXTENSION_MEMBER_CASCADE_DETACH, EXTENSION_MEMBER_CASCADE_PERSIST, EXTENSION_MEMBER_CASCADE_REFRESH, EXTENSION_MEMBER_CASCADE_UPDATE, EXTENSION_MEMBER_COMPARATOR_NAME, EXTENSION_MEMBER_CONTAINER_ALLOW_NULLS, EXTENSION_MEMBER_ENUM_GETTER_BY_VALUE, EXTENSION_MEMBER_ENUM_VALUE_GETTER, EXTENSION_MEMBER_FETCH_FK_ONLY, EXTENSION_MEMBER_IMPLEMENTATION_CLASSES, EXTENSION_MEMBER_INSERTABLE, EXTENSION_MEMBER_KEY_IMPLEMENTATION_CLASSES, EXTENSION_MEMBER_LIST_ORDERING, EXTENSION_MEMBER_RELATION_DISCRIM_COLUMN, EXTENSION_MEMBER_RELATION_DISCRIM_PK, EXTENSION_MEMBER_RELATION_DISCRIM_VALUE, EXTENSION_MEMBER_STRATEGY_WHEN_NOTNULL, EXTENSION_MEMBER_TYPE_CONVERTER_DISABLED, EXTENSION_MEMBER_TYPE_CONVERTER_NAME, EXTENSION_MEMBER_UPDATEABLE, EXTENSION_MEMBER_VALUE_IMPLEMENTATION_CLASSES, EXTENSION_VERSION_NUMBER_INITIAL_VALUE, extensions, METADATA_CREATED_STATE, METADATA_INITIALISED_STATE, METADATA_POPULATED_STATE, METADATA_USED_STATE, metaDataState, parent, VENDOR_NAME
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ClassMetaData
addClass(ClassMetaData cmd)
Method to add a class Meta-Data to the package.InterfaceMetaData
addInterface(InterfaceMetaData imd)
Method to add a interface Meta-Data to the package.void
addSequence(SequenceMetaData seqmd)
Method to add a sequence Meta-Data to the package.void
addTableGenerator(TableGeneratorMetaData tabmd)
Method to add a TableGenerator Meta-Data to the package.String
getCatalog()
Accessor for the catalog name for all classes in this packageClassMetaData
getClass(int i)
Accessor for the Meta-Data of a class in this package.ClassMetaData
getClass(String name)
Accessor for the Meta-Data of a class with the specified name.FileMetaData
getFileMetaData()
Accessor for the parent FileMetaData.InterfaceMetaData
getInterface(int i)
Accessor for the Meta-Data of a interface in this package.InterfaceMetaData
getInterface(String name)
Accessor for the Meta-Data of an interface with the specified name.String
getName()
Accessor for the name of the packageint
getNoOfClasses()
Accessor for the number of classes.int
getNoOfInterfaces()
Accessor for the number of interfaces.int
getNoOfSequences()
Accessor for the number of sequences.int
getNoOfTableGenerators()
Accessor for the number of table generators.String
getSchema()
Accessor for the schema name for all classes in this packageSequenceMetaData
getSequence(String name)
Accessor for the Meta-Data of an sequence with the specified name.SequenceMetaData[]
getSequences()
Accessor for the Meta-Data for the sequences in this package.TableGeneratorMetaData
getTableGenerator(String name)
Accessor for the Meta-Data of a table generator with the specified name.TableGeneratorMetaData[]
getTableGenerators()
Accessor for the Meta-Data for the table generators in this package.void
initialise(ClassLoaderResolver clr)
ClassMetaData
newClassMetadata(String className)
Method to create a new class metadata, add it, and return it.InterfaceMetaData
newInterfaceMetadata(String intfName)
Method to create a new interface metadata, add it, and return it.SequenceMetaData
newSequenceMetadata(String seqName, String seqStrategy)
Method to create a new Sequence metadata, add it, and return it.TableGeneratorMetaData
newTableGeneratorMetadata(String name)
Method to create a new TableGenerator metadata, add it and return it.void
removeClass(AbstractClassMetaData cmd)
Method to remove a class from this metadata definition.PackageMetaData
setCatalog(String catalog)
PackageMetaData
setSchema(String schema)
-
Methods inherited from class org.datanucleus.metadata.MetaData
addExtension, addExtensions, getExtensions, getMetaDataManager, getNoOfExtensions, getParent, getValueForExtension, getValuesForExtension, hasExtension, isInitialised, isPopulated, isUsed, removeExtension, setExtensions, setParent
-
-
-
-
Field Detail
-
interfaces
protected List<InterfaceMetaData> interfaces
List of interfaces (uses List to retain positioning).
-
classes
protected List<ClassMetaData> classes
List of classes (uses List to retain positioning).
-
sequences
protected Collection<SequenceMetaData> sequences
Sequence generators.
-
tableGenerators
protected Collection<TableGeneratorMetaData> tableGenerators
Table generators.
-
name
protected final String name
Package name
-
catalog
protected String catalog
Catalog name for all classes in this package
-
schema
protected String schema
Schema name for all classes in this package
-
-
Method Detail
-
initialise
public void initialise(ClassLoaderResolver clr)
- Overrides:
initialise
in classMetaData
-
getFileMetaData
public FileMetaData getFileMetaData()
Accessor for the parent FileMetaData.- Returns:
- File MetaData.
-
getName
public String getName()
Accessor for the name of the package- Returns:
- package name
-
getCatalog
public String getCatalog()
Accessor for the catalog name for all classes in this package- Returns:
- Catalog name to use.
-
getSchema
public String getSchema()
Accessor for the schema name for all classes in this package- Returns:
- Schema name to use.
-
getNoOfInterfaces
public int getNoOfInterfaces()
Accessor for the number of interfaces.- Returns:
- Number of interfaces.
-
getInterface
public InterfaceMetaData getInterface(int i)
Accessor for the Meta-Data of a interface in this package.- Parameters:
i
- interface index- Returns:
- Meta-Data for the interface
-
getInterface
public InterfaceMetaData getInterface(String name)
Accessor for the Meta-Data of an interface with the specified name.- Parameters:
name
- the name of the interface- Returns:
- Meta-Data for the interface
-
getNoOfClasses
public int getNoOfClasses()
Accessor for the number of classes.- Returns:
- Number of classes.
-
getClass
public ClassMetaData getClass(int i)
Accessor for the Meta-Data of a class in this package.- Parameters:
i
- class index- Returns:
- Meta-Data for the class
-
getClass
public ClassMetaData getClass(String name)
Accessor for the Meta-Data of a class with the specified name.- Parameters:
name
- the name of the class- Returns:
- Meta-Data for the class.
-
getNoOfSequences
public int getNoOfSequences()
Accessor for the number of sequences.- Returns:
- Number of sequences.
-
getSequences
public SequenceMetaData[] getSequences()
Accessor for the Meta-Data for the sequences in this package.- Returns:
- Meta-Data for the sequences
-
getSequence
public SequenceMetaData getSequence(String name)
Accessor for the Meta-Data of an sequence with the specified name.- Parameters:
name
- the name of the sequence- Returns:
- Meta-Data for the sequence
-
getNoOfTableGenerators
public int getNoOfTableGenerators()
Accessor for the number of table generators.- Returns:
- Number of table generators.
-
getTableGenerators
public TableGeneratorMetaData[] getTableGenerators()
Accessor for the Meta-Data for the table generators in this package.- Returns:
- Meta-Data for the table generators
-
getTableGenerator
public TableGeneratorMetaData getTableGenerator(String name)
Accessor for the Meta-Data of a table generator with the specified name.- Parameters:
name
- the name of the table generator- Returns:
- Meta-Data for the table generator
-
addClass
public ClassMetaData addClass(ClassMetaData cmd)
Method to add a class Meta-Data to the package.- Parameters:
cmd
- Meta-Data for the class- Returns:
- The class metadata that was added (or already existing)
-
removeClass
public void removeClass(AbstractClassMetaData cmd)
Method to remove a class from this metadata definition. This is of use where we read in metadata only to find that the class that it pertains to is not in the CLASSPATH.- Parameters:
cmd
- Metadata for the class to remove
-
newClassMetadata
public ClassMetaData newClassMetadata(String className)
Method to create a new class metadata, add it, and return it.- Parameters:
className
- Name of the class (in this package)- Returns:
- The class metadata
-
addInterface
public InterfaceMetaData addInterface(InterfaceMetaData imd)
Method to add a interface Meta-Data to the package.- Parameters:
imd
- Meta-Data for the interface- Returns:
- The interface metadata that was added (or already existing)
-
newInterfaceMetadata
public InterfaceMetaData newInterfaceMetadata(String intfName)
Method to create a new interface metadata, add it, and return it.- Parameters:
intfName
- Name of the interface (in this package)- Returns:
- The interface metadata
-
addSequence
public void addSequence(SequenceMetaData seqmd)
Method to add a sequence Meta-Data to the package.- Parameters:
seqmd
- Meta-Data for the sequence
-
newSequenceMetadata
public SequenceMetaData newSequenceMetadata(String seqName, String seqStrategy)
Method to create a new Sequence metadata, add it, and return it.- Parameters:
seqName
- Name of the sequenceseqStrategy
- Strategy for the sequence- Returns:
- The sequence metadata
-
addTableGenerator
public void addTableGenerator(TableGeneratorMetaData tabmd)
Method to add a TableGenerator Meta-Data to the package.- Parameters:
tabmd
- Meta-Data for the TableGenerator
-
newTableGeneratorMetadata
public TableGeneratorMetaData newTableGeneratorMetadata(String name)
Method to create a new TableGenerator metadata, add it and return it.- Parameters:
name
- Name of the table generator- Returns:
- The metadata
-
setCatalog
public PackageMetaData setCatalog(String catalog)
-
setSchema
public PackageMetaData setSchema(String schema)
-
-