Oracle Application Server TopLink API Reference
10g Release 2 (10.1.2)

B15903-01


oracle.toplink.tools.schemaframework
Class SchemaManager

java.lang.Object
  extended byoracle.toplink.tools.schemaframework.SchemaManager

Direct Known Subclasses:
SDKSchemaManager

public class SchemaManager
extends java.lang.Object

Purpose: Define all user level protocol for development time database manipulation.

Responsibilities:


Constructor Summary
SchemaManager(oracle.toplink.publicinterface.DatabaseSession session)
SchemaManager(DatabaseSession session)

Method Summary
void alterSequence(SequenceDefinition sequenceDefinition)
Use the definition to alter sequence.
void appendToDDLWriter(java.lang.String stringToWrite)
PUBLIC: If the schema manager is writing to a writer, append this string to that writer.
void closeDDLWriter()
PUBLIC: Close the schema writer.
void createConstraints(TableDefinition tableDefinition)
Use the table definition to add the constraints to the database, this is normally done in two steps to avoid dependencies.
void createObject(DatabaseObjectDefinition databaseObjectDefinition)
Use the definition object to create the schema entity on the database.
void createSequences()
Create all the receiver's sequences on the database for all of the loaded descriptors.
void dropConstraints(TableDefinition tableDefinition)
Use the table definition to drop the constraints from the table, this is normally done in two steps to avoid dependencies.
void dropObject(DatabaseObjectDefinition databaseObjectDefinition)
Use the definition object to drop the schema entity from the database.
void dropPre25Constraints(TableDefinition tableDefinition)
Deprecated. Only used for transition to TLJ 2.5 table creation
void dropTable(java.lang.String tableName)
Drop (delete) the table named tableName from the database.
void generateStoredProcedures()
PUBLIC: Use this method to generate stored procedures based on the dynamic SQL generated for your mappings and descriptors.
void generateStoredProcedures(java.io.Writer writer)
PUBLIC: Use this method to generate stored procedures based on the dynamic SQL generated for your mappings and descriptors.
void generateStoredProceduresAndAmendmentClass(java.lang.String path, java.lang.String fullyQualifiedClassName)
PUBLIC: Use this method to generate stored procedures based on the dynamic SQL generated for your mappings and descriptors.
void generateStoredProceduresAndAmendmentClass(java.io.Writer writer, java.lang.String fullyQualifiedClassName)
PUBLIC: Use this method to generate stored procedures based on the dynamic SQL generated for your mappings and descriptors.
java.util.Vector getAllColumnNames(java.lang.String tableName)
Return all the column names for the given tableName.
java.util.Vector getAllColumnNames(java.lang.String creatorName, java.lang.String tableName)
Return all the column names for the given tableName and creator.
java.util.Vector getAllTableNames()
Return all the table names on the database A DatabaseException is thrown if the database does not support the querying of metadata.
java.util.Vector getAllTableNames(java.lang.String creatorName)
Return all the table names on the database for the given creator e.g. getAllTableNames("USERID") A DatabaseException is thrown if the database does not support the querying of metadata.
java.util.Vector getColumnInfo(java.lang.String catalog, java.lang.String schema, java.lang.String tableName, java.lang.String columnName)
Get a description of table columns available in a catalog.
oracle.toplink.publicinterface.Session getSession()
java.util.Vector getTableInfo(java.lang.String catalog, java.lang.String schema, java.lang.String tableName, java.lang.String[] types)
Get a description of tables available in a catalog.
void outputDDLToDatabase()
PUBLIC: Output all DDL statements directly to the database.
void outputDDLToFile(java.lang.String fileName)
PUBLIC: Output all DDL statements to a file writer specified by the name in the parameter.
void outputDDLToWriter(java.io.Writer schemaWriter)
PUBLIC: Output all DDL statements to a writer specified in the parameter.
void replaceObject(DatabaseObjectDefinition databaseDefinition)
Use the definition object to drop and recreate the schema entity on the database.
void replaceSequences()
Drop and recreate all the receiver's sequences on the database for all of the loaded descriptors.
void setSession(oracle.toplink.publicinterface.DatabaseSession session)
boolean shouldWriteToDatabase()
PUBLIC: Return true if this SchemaManager should write to the database directly

Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail

SchemaManager

public SchemaManager(oracle.toplink.publicinterface.DatabaseSession session)

SchemaManager

public SchemaManager(DatabaseSession session)

Method Detail

appendToDDLWriter

public void appendToDDLWriter(java.lang.String stringToWrite)
PUBLIC: If the schema manager is writing to a writer, append this string to that writer.

closeDDLWriter

public void closeDDLWriter()
PUBLIC: Close the schema writer.

createConstraints

public void createConstraints(TableDefinition tableDefinition)
                       throws TopLinkException
Use the table definition to add the constraints to the database, this is normally done in two steps to avoid dependencies.
Throws:
TopLinkException

createObject

public void createObject(DatabaseObjectDefinition databaseObjectDefinition)
                  throws TopLinkException
Use the definition object to create the schema entity on the database. This is used for creating tables, views, procedures ... etc ...
Throws:
TopLinkException

createSequences

public void createSequences()
                     throws TopLinkException
Create all the receiver's sequences on the database for all of the loaded descriptors.
Throws:
TopLinkException

dropConstraints

public void dropConstraints(TableDefinition tableDefinition)
                     throws TopLinkException
Use the table definition to drop the constraints from the table, this is normally done in two steps to avoid dependencies.
Throws:
TopLinkException

dropObject

public void dropObject(DatabaseObjectDefinition databaseObjectDefinition)
                throws TopLinkException
Use the definition object to drop the schema entity from the database. This is used for droping tables, views, procedures ... etc ...
Throws:
TopLinkException

dropPre25Constraints

public void dropPre25Constraints(TableDefinition tableDefinition)
                          throws TopLinkException
Deprecated. Only used for transition to TLJ 2.5 table creation
Use the table definition to drop the constraints created previous to TopLink for Java 2.5 from the table, this is normally done in two steps to avoid dependencies.
Throws:
TopLinkException

dropTable

public void dropTable(java.lang.String tableName)
               throws TopLinkException
Drop (delete) the table named tableName from the database.
Throws:
TopLinkException

generateStoredProcedures

public void generateStoredProcedures()
                              throws TopLinkException
PUBLIC: Use this method to generate stored procedures based on the dynamic SQL generated for your mappings and descriptors. This should be used with caution as it maintenance will be high. Stored procedures may be generated either directly on the database or to a file.
Throws:
TopLinkException
See Also:
outputDDLToWriter

generateStoredProcedures

public void generateStoredProcedures(java.io.Writer writer)
                              throws TopLinkException
PUBLIC: Use this method to generate stored procedures based on the dynamic SQL generated for your mappings and descriptors. This should be used with caution as it maintenance will be high. Stored procedures may be generated either directly on the database or to a file.
Throws:
TopLinkException
See Also:
outputDDLToWriter

generateStoredProceduresAndAmendmentClass

public void generateStoredProceduresAndAmendmentClass(java.io.Writer writer,
                                                      java.lang.String fullyQualifiedClassName)
                                               throws TopLinkException
PUBLIC: Use this method to generate stored procedures based on the dynamic SQL generated for your mappings and descriptors. This should be used with caution as it maintenance will be high. Stored procedures may be generated either directly on the database or to a file.
Throws:
TopLinkException
See Also:
outputDDLToWriter

generateStoredProceduresAndAmendmentClass

public void generateStoredProceduresAndAmendmentClass(java.lang.String path,
                                                      java.lang.String fullyQualifiedClassName)
                                               throws TopLinkException
PUBLIC: Use this method to generate stored procedures based on the dynamic SQL generated for your mappings and descriptors. This should be used with caution as it maintenance will be high. Stored procedures may be generated either directly on the database or to a file.
Throws:
TopLinkException
See Also:
outputDDLToWriter

getAllColumnNames

public java.util.Vector getAllColumnNames(java.lang.String tableName)
                                   throws DatabaseException
Return all the column names for the given tableName. Returns an empty Vector if table is not found. If more than 2 tables share the same name, then all of the columns for both tables will be returned. A DatabaseException is thrown if the database does not support the querying of metadata.
Throws:
DatabaseException

getAllColumnNames

public java.util.Vector getAllColumnNames(java.lang.String creatorName,
                                          java.lang.String tableName)
                                   throws DatabaseException
Return all the column names for the given tableName and creator. Returns an empty Vector if table is not found e.g. getAllColumnNames("USERID", "EMPLOYEE"); A DatabaseException is thrown if the database does not support the querying of metadata.
Throws:
DatabaseException

getAllTableNames

public java.util.Vector getAllTableNames()
                                  throws DatabaseException
Return all the table names on the database A DatabaseException is thrown if the database does not support the querying of metadata.
Throws:
DatabaseException

getAllTableNames

public java.util.Vector getAllTableNames(java.lang.String creatorName)
                                  throws DatabaseException
Return all the table names on the database for the given creator e.g. getAllTableNames("USERID") A DatabaseException is thrown if the database does not support the querying of metadata.
Throws:
DatabaseException

getColumnInfo

public java.util.Vector getColumnInfo(java.lang.String catalog,
                                      java.lang.String schema,
                                      java.lang.String tableName,
                                      java.lang.String columnName)
                               throws DatabaseException
Get a description of table columns available in a catalog.

Only column descriptions matching the catalog, schema, table and column name criteria are returned. They are ordered by TABLE_SCHEM, TABLE_NAME and ORDINAL_POSITION.

Each column description has the following columns:

  1. TABLE_CAT String => table catalog (may be null)
  2. TABLE_SCHEM String => table schema (may be null)
  3. TABLE_NAME String => table name
  4. COLUMN_NAME String => column name
  5. DATA_TYPE short => SQL type from java.sql.Types
  6. TYPE_NAME String => Data source dependent type name
  7. COLUMN_SIZE int => column size. For char or date types this is the maximum number of characters, for numeric or decimal types this is precision.
  8. BUFFER_LENGTH is not used.
  9. DECIMAL_DIGITS int => the number of fractional digits
  10. NUM_PREC_RADIX int => Radix (typically either 10 or 2)
  11. NULLABLE int => is NULL allowed?
    • columnNoNulls - might not allow NULL values
    • columnNullable - definitely allows NULL values
    • columnNullableUnknown - nullability unknown
  12. REMARKS String => comment describing column (may be null)
  13. COLUMN_DEF String => default value (may be null)
  14. SQL_DATA_TYPE int => unused
  15. SQL_DATETIME_SUB int => unused
  16. CHAR_OCTET_LENGTH int => for char types the maximum number of bytes in the column
  17. ORDINAL_POSITION int => index of column in table (starting at 1)
  18. IS_NULLABLE String => "NO" means column definitely does not allow NULL values; "YES" means the column might allow NULL values. An empty string means nobody knows.
Parameters:
catalog - a catalog name; "" retrieves those without a catalog; null means drop catalog name from the selection criteria
Returns:
a Vector of DatabaseRows.
Throws:
DatabaseException

getSession

public oracle.toplink.publicinterface.Session getSession()

getTableInfo

public java.util.Vector getTableInfo(java.lang.String catalog,
                                     java.lang.String schema,
                                     java.lang.String tableName,
                                     java.lang.String[] types)
                              throws DatabaseException
Get a description of tables available in a catalog.

Only table descriptions matching the catalog, schema, table name and type criteria are returned. They are ordered by TABLE_TYPE, TABLE_SCHEM and TABLE_NAME.

Each table description has the following columns:

  1. TABLE_CAT String => table catalog (may be null)
  2. TABLE_SCHEM String => table schema (may be null)
  3. TABLE_NAME String => table name
  4. TABLE_TYPE String => table type. Typical types are "TABLE", "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS", "SYNONYM".
  5. REMARKS String => explanatory comment on the table

Note: Some databases may not return information for all tables.

Parameters:
catalog - a catalog name; "" retrieves those without a catalog; null means drop catalog name from the selection criteria
types - a list of table types to include; null returns all types
Returns:
a Vector of DatabaseRows.
Throws:
DatabaseException

outputDDLToDatabase

public void outputDDLToDatabase()
PUBLIC: Output all DDL statements directly to the database.

outputDDLToFile

public void outputDDLToFile(java.lang.String fileName)
PUBLIC: Output all DDL statements to a file writer specified by the name in the parameter.

outputDDLToWriter

public void outputDDLToWriter(java.io.Writer schemaWriter)
PUBLIC: Output all DDL statements to a writer specified in the parameter.

replaceObject

public void replaceObject(DatabaseObjectDefinition databaseDefinition)
                   throws TopLinkException
Use the definition object to drop and recreate the schema entity on the database. This is used for dropping tables, views, procedures ... etc ... This handles and ignore any database error while droping incase the object did not previously exist.
Throws:
TopLinkException

replaceSequences

public void replaceSequences()
                      throws DatabaseException
Drop and recreate all the receiver's sequences on the database for all of the loaded descriptors.
Throws:
DatabaseException

setSession

public void setSession(oracle.toplink.publicinterface.DatabaseSession session)

shouldWriteToDatabase

public boolean shouldWriteToDatabase()
PUBLIC: Return true if this SchemaManager should write to the database directly

alterSequence

public void alterSequence(SequenceDefinition sequenceDefinition)
                   throws TopLinkException
Use the definition to alter sequence.
Throws:
TopLinkException

Copyright © 1998, 2005 Oracle Corporation. All Rights Reserved.