Class SchemaTable
- java.lang.Object
- 
- org.datanucleus.store.rdbms.table.AbstractTable
- 
- org.datanucleus.store.rdbms.table.TableImpl
- 
- org.datanucleus.store.rdbms.autostart.SchemaTable
 
 
 
- 
- All Implemented Interfaces:
- Table,- org.datanucleus.store.schema.table.Table
 
 public class SchemaTable extends TableImpl Class defining DataNucleus schema definition tables. Represents a table in the datastore storing the class and table mappings. This table is used when restarting a DataNucleus system so that it is 'aware' of what classes were supported the previous time this datastore was used. It uses this information to pre-populate the RDBMSManager with the classes stored in this table. The table names are not used as such, other than as a record of what table a class maps to - because it goes off and finds the MetaData for the class which, with the DataNucleus naming scheme, defines the table name anyway.
- 
- 
Field Summary- 
Fields inherited from class org.datanucleus.store.rdbms.table.AbstractTablecolumns, columnsByIdentifier, dba, existsInDatastore, identifier, state, storeMgr, TABLE_STATE_INITIALIZED, TABLE_STATE_INITIALIZED_MODIFIED, TABLE_STATE_NEW, TABLE_STATE_PK_INITIALIZED, TABLE_STATE_VALIDATED
 
- 
 - 
Constructor SummaryConstructors Constructor Description SchemaTable(RDBMSStoreManager storeMgr, String tableName)Constructor.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddClass(RDBMSStoreData data, org.datanucleus.store.connection.ManagedConnection conn)Method to insert a row in the SchemaTable.voiddeleteAllClasses(org.datanucleus.store.connection.ManagedConnection conn)Method to delete all classes from the SchemaTable.voiddeleteClass(String class_name, org.datanucleus.store.connection.ManagedConnection conn)Method to delete a class from the SchemaTable.HashSetgetAllClasses(org.datanucleus.store.connection.ManagedConnection conn)Accessor for the classes already supported by this Schema Table.JavaTypeMappinggetIdMapping()Accessor for a mapping for the ID (persistable) for this table.JavaTypeMappinggetMemberMapping(org.datanucleus.metadata.AbstractMemberMetaData mmd)Accessor the for the mapping for a field/property stored in this table.voidinitialize(org.datanucleus.ClassLoaderResolver clr)Method to initialise the table.- 
Methods inherited from class org.datanucleus.store.rdbms.table.TableImplcreateConstraints, dropConstraints, getExpectedCandidateKeys, getExpectedForeignKeys, getExpectedIndices, getPrimaryKey, getSQLAddCandidateKeyStatements, getSQLAddFKStatements, getSQLCreateIndexStatements, getSQLCreateStatements, getSQLDropStatements, initializeColumnInfoForPrimaryKeyColumns, initializeColumnInfoFromDatastore, logMapping, validate, validateColumns, validateConstraints, validatePrimaryKey
 - 
Methods inherited from class org.datanucleus.store.rdbms.table.AbstractTableaddColumn, addColumnInternal, allowDDLOutput, assertIsInitialized, assertIsInitializedModified, assertIsPKInitialized, assertIsPKUninitialized, assertIsUninitialized, assertIsValidated, create, drop, equals, executeDdlStatement, executeDdlStatementList, exists, getCatalogName, getClassMetaData, getColumn, getColumnForName, getColumnForPosition, getColumns, getDatastoreIdentifierFullyQualified, getDiscriminatorMetaData, getIdentifier, getMemberColumnMappingForEmbeddedMember, getMemberColumnMappingForMember, getMemberColumnMappings, getName, getNumberOfColumns, getSchemaName, getStoreManager, getSurrogateColumn, getSurrogateMapping, getVersionMetaData, hasColumn, hasColumnName, hashCode, isInitialized, isInitializedModified, isPKInitialized, isValidated, postInitialize, preInitialize, tableExistsInDatastore, toString
 
- 
 
- 
- 
- 
Constructor Detail- 
SchemaTablepublic SchemaTable(RDBMSStoreManager storeMgr, String tableName) Constructor.- Parameters:
- storeMgr- The RDBMSManager for this datastore
- tableName- Name of the starter table (optional, uses NUCLEUS_TABLES when this is null)
 
 
- 
 - 
Method Detail- 
initializepublic void initialize(org.datanucleus.ClassLoaderResolver clr) Method to initialise the table.- Parameters:
- clr- The ClassLoaderResolver
 
 - 
getIdMappingpublic JavaTypeMapping getIdMapping() Accessor for a mapping for the ID (persistable) for this table.- Returns:
- The (persistable) ID mapping.
 
 - 
getAllClassespublic HashSet getAllClasses(org.datanucleus.store.connection.ManagedConnection conn) throws SQLException Accessor for the classes already supported by this Schema Table.- Parameters:
- conn- Connection for this datastore.
- Returns:
- The HashSet of class names (StoreData)
- Throws:
- SQLException- Thrown when an error occurs in the process.
 
 - 
addClasspublic void addClass(RDBMSStoreData data, org.datanucleus.store.connection.ManagedConnection conn) throws SQLException Method to insert a row in the SchemaTable. This is called when DataNucleus is now supporting a new class (and hence DB table).- Parameters:
- data- Data for the class
- conn- Connection to the datastore
- Throws:
- SQLException- Thrown when an error occurs inserting the schema.
 
 - 
deleteClasspublic void deleteClass(String class_name, org.datanucleus.store.connection.ManagedConnection conn) throws SQLException Method to delete a class from the SchemaTable. This is called when DataNucleus is required to clean out support for a particular class.- Parameters:
- class_name- Name of class to delete
- conn- Connection to the datastore
- Throws:
- SQLException- Thrown when an error occurs deleting the schema.
 
 - 
deleteAllClassespublic void deleteAllClasses(org.datanucleus.store.connection.ManagedConnection conn) throws SQLExceptionMethod to delete all classes from the SchemaTable. This is called when DataNucleus is required to clean out its supported classes (and hence DB table).- Parameters:
- conn- Connection to the datastore
- Throws:
- SQLException- Thrown when an error occurs deleting the schema.
 
 - 
getMemberMappingpublic JavaTypeMapping getMemberMapping(org.datanucleus.metadata.AbstractMemberMetaData mmd) Accessor the for the mapping for a field/property stored in this table.- Parameters:
- mmd- MetaData for the field whose mapping we want
- Returns:
- The mapping
 
 
- 
 
-