org.jpox.store.rdbms.table
Class SchemaTable

java.lang.Object
  extended byorg.jpox.store.rdbms.table.AbstractTable
      extended byorg.jpox.store.rdbms.table.TableImpl
          extended byorg.jpox.store.rdbms.table.SchemaTable
All Implemented Interfaces:
DatastoreContainerObject, DatastoreObject, Table

public class SchemaTable
extends TableImpl

Class defining JPOX schema definition tables. Represents a table in the datastore storing the class and table mappings. This table is used when restarting a JPOX 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 JPOX naming scheme, defines the table name anyway.

Version:
$Revision: 1.33 $

Field Summary
 
Fields inherited from class org.jpox.store.rdbms.table.AbstractTable
columns, columnsByName, dba, ddlDumpWriter, identifier, LOCALISER, state, storeMgr
 
Fields inherited from interface org.jpox.store.rdbms.table.Table
TABLE_STATE_INITIALIZED, TABLE_STATE_INITIALIZED_MODIFIED, TABLE_STATE_NEW, TABLE_STATE_PK_INITIALIZED, TABLE_STATE_VALIDATED, TABLE_TYPE_MISSING, TABLE_TYPE_TABLE, TABLE_TYPE_UNKNOWN, TABLE_TYPE_VIEW
 
Constructor Summary
SchemaTable(RDBMSManager storeMgr)
          Constructor
 
Method Summary
 void addClass(StoreData data, java.sql.Connection conn)
          Method to insert a row in the SchemaTable.
 void deleteAllClasses(java.sql.Connection conn)
          Method to delete all classes from the SchemaTable.
 void deleteClass(java.lang.String class_name, java.sql.Connection conn)
          Method to delete a class from the SchemaTable.
 java.util.HashSet getAllClasses(java.sql.Connection conn)
          Accessor for the classes already supported by this Schema Table.
 JavaTypeMapping getFieldMapping(AbstractPropertyMetaData fmd)
          Accessor the for the mapping for a field store in this table
 JavaTypeMapping getIDMapping()
          Accessor for a mapping for the ID (PersistenceCapable) for this table.
 void initialize(ClassLoaderResolver clr)
          Method to initialise the table.
 
Methods inherited from class org.jpox.store.rdbms.table.TableImpl
dropConstraints, getExpectedCandidateKeys, getExpectedForeignKeys, getExpectedIndices, getPrimaryKey, getSQLAddCandidateKeyStatements, getSQLAddFKStatements, getSQLCreateIndexStatements, getSQLCreateStatements, getSQLDropStatements, initializeColumnInfoForPrimaryKeyColumns, initializeColumnInfoFromDatastore, postInitialize, preInitialize, validate, validateColumns, validateConstraints, validatePrimaryKey
 
Methods inherited from class org.jpox.store.rdbms.table.AbstractTable
addColumnInternal, addDatastoreField, allowDdlDump, assertIsInitialized, assertIsInitializedModified, assertIsPKInitialized, assertIsPKUninitialized, assertIsUninitialized, assertIsValidated, create, drop, equals, executeDdlStatement, executeDdlStatementList, exists, getCatalogName, getDatastoreIdentifierFullyQualified, getDiscriminatorMapping, getDiscriminatorMetaData, getIdentifier, getSchemaName, getStoreManager, getVersionMapping, getVersionMetaData, hasColumnName, hasDatastoreField, hashCode, isDumpingDdl, isInitialized, isInitializedModified, isPKInitialized, isValidated, setDdlDumpWriter, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SchemaTable

public SchemaTable(RDBMSManager storeMgr)
Constructor

Parameters:
storeMgr - The RDBMSManager for this datastore
Method Detail

initialize

public void initialize(ClassLoaderResolver clr)
Method to initialise the table.

Parameters:
clr - The ClassLoaderResolver

getIDMapping

public JavaTypeMapping getIDMapping()
Accessor for a mapping for the ID (PersistenceCapable) for this table.

Returns:
The (PersistenceCapable) ID mapping.

getAllClasses

public java.util.HashSet getAllClasses(java.sql.Connection conn)
                                throws java.sql.SQLException
Accessor for the classes already supported by this Schema Table.

Parameters:
conn - Connection for this datastore.
Returns:
The HashSet of class names
Throws:
java.sql.SQLException - Thrown when an error occurs in the process.

addClass

public void addClass(StoreData data,
                     java.sql.Connection conn)
              throws java.sql.SQLException
Method to insert a row in the SchemaTable. This is called when JPOX is now supporting a new class (and hence DB table).

Parameters:
data - Data for the class
conn - Connection to the datastore
Throws:
java.sql.SQLException - Thrown when an error occurs inserting the schema.

deleteClass

public void deleteClass(java.lang.String class_name,
                        java.sql.Connection conn)
                 throws java.sql.SQLException
Method to delete a class from the SchemaTable. This is called when JPOX is required to clean out support for a particular class.

Parameters:
class_name - Name of class to delete
conn - Connection to the datastore
Throws:
java.sql.SQLException - Thrown when an error occurs deleting the schema.

deleteAllClasses

public void deleteAllClasses(java.sql.Connection conn)
                      throws java.sql.SQLException
Method to delete all classes from the SchemaTable. This is called when JPOX is required to clean out its supported classes (and hence DB table).

Parameters:
conn - Connection to the datastore
Throws:
java.sql.SQLException - Thrown when an error occurs deleting the schema.

getFieldMapping

public JavaTypeMapping getFieldMapping(AbstractPropertyMetaData fmd)
Accessor the for the mapping for a field store in this table

Parameters:
fmd - MetaData for the field whose mapping we want
Returns:
The mapping


Copyright © -2007 . All Rights Reserved.