Package org.apache.openjpa.jdbc.schema
Class TableSchemaFactory
- java.lang.Object
-
- org.apache.openjpa.jdbc.schema.TableSchemaFactory
-
- All Implemented Interfaces:
SchemaFactory,Configurable
public class TableSchemaFactory extends java.lang.Object implements SchemaFactory, Configurable
Factory that uses an XML schema definition stored in a database table to record the system schema.- Author:
- Abe White
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringACTION_ADDstatic java.lang.StringACTION_DROP
-
Constructor Summary
Constructors Constructor Description TableSchemaFactory()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voiddropTable()Drops the sequence table in the DB.voidendConfiguration()Invoked upon completion of bean property configuration for this object.JDBCConfigurationgetConfiguration()java.lang.StringgetPrimaryKeyColumn()The name of the primary key column on the schema definition table.java.lang.StringgetSchemaColumn()The name of the schema column on the schema definition table.java.lang.StringgetTable()The name of the schema definition table.static voidmain(java.lang.String[] args)Usage: java org.apache.openjpa.jdbc.schema.TableSchemaFactory [option]* -action/-a <add | drop> Where the following options are recognized.SchemaGroupreadSchema()Return the schema group for the current object model and database.java.lang.StringreadSchemaColumn()Returns the schema as an XML string.voidrefreshTable()Creates the schema table in the DB.static booleanrun(JDBCConfiguration conf, java.lang.String action)Run the tool.static booleanrun(JDBCConfiguration conf, java.lang.String[] args, Options opts)Run the tool.voidsetConfiguration(Configuration conf)Invoked prior to setting bean properties.voidsetPrimaryKeyColumn(java.lang.String name)The name of the primary key column on the schema definition table.voidsetSchemaColumn(java.lang.String name)The name of the schema column on the schema definition table.voidsetTable(java.lang.String name)The name of the schema definition table.voidsetTableName(java.lang.String name)Deprecated.voidstartConfiguration()Invoked before bean property configuration is begun on this object.voidstoreSchema(SchemaGroup schema)Record the schema group after changes may have been made.voidwriteSchemaColumn(java.lang.String schema)Writes the schema as a string to the database.
-
-
-
Field Detail
-
ACTION_ADD
public static final java.lang.String ACTION_ADD
- See Also:
- Constant Field Values
-
ACTION_DROP
public static final java.lang.String ACTION_DROP
- See Also:
- Constant Field Values
-
-
Method Detail
-
getTable
public java.lang.String getTable()
The name of the schema definition table. Defaults toOPENJPA_SCHEMA.
-
setTable
public void setTable(java.lang.String name)
The name of the schema definition table. Defaults toOPENJPA_SCHEMA.
-
setTableName
@Deprecated public void setTableName(java.lang.String name)
Deprecated.UsesetTable(java.lang.String). Retained for backwards-compatible auto-configuration.
-
setPrimaryKeyColumn
public void setPrimaryKeyColumn(java.lang.String name)
The name of the primary key column on the schema definition table. Defaults toID.
-
getPrimaryKeyColumn
public java.lang.String getPrimaryKeyColumn()
The name of the primary key column on the schema definition table. Defaults toID.
-
setSchemaColumn
public void setSchemaColumn(java.lang.String name)
The name of the schema column on the schema definition table. Defaults toSCHEMA_DEF.
-
getSchemaColumn
public java.lang.String getSchemaColumn()
The name of the schema column on the schema definition table. Defaults toSCHEMA_DEF.
-
getConfiguration
public JDBCConfiguration getConfiguration()
-
setConfiguration
public void setConfiguration(Configuration conf)
Description copied from interface:ConfigurableInvoked prior to setting bean properties.- Specified by:
setConfigurationin interfaceConfigurable
-
startConfiguration
public void startConfiguration()
Description copied from interface:ConfigurableInvoked before bean property configuration is begun on this object.- Specified by:
startConfigurationin interfaceConfigurable
-
endConfiguration
public void endConfiguration()
Description copied from interface:ConfigurableInvoked upon completion of bean property configuration for this object.- Specified by:
endConfigurationin interfaceConfigurable
-
readSchema
public SchemaGroup readSchema()
Description copied from interface:SchemaFactoryReturn the schema group for the current object model and database.- Specified by:
readSchemain interfaceSchemaFactory
-
storeSchema
public void storeSchema(SchemaGroup schema)
Description copied from interface:SchemaFactoryRecord the schema group after changes may have been made.- Specified by:
storeSchemain interfaceSchemaFactory- Parameters:
schema- the schema definition for the entire system
-
refreshTable
public void refreshTable() throws java.sql.SQLExceptionCreates the schema table in the DB.- Throws:
java.sql.SQLException
-
dropTable
public void dropTable() throws java.sql.SQLExceptionDrops the sequence table in the DB.- Throws:
java.sql.SQLException
-
readSchemaColumn
public java.lang.String readSchemaColumn() throws java.sql.SQLExceptionReturns the schema as an XML string.- Throws:
java.sql.SQLException
-
writeSchemaColumn
public void writeSchemaColumn(java.lang.String schema) throws java.sql.SQLExceptionWrites the schema as a string to the database.- Throws:
java.sql.SQLException
-
main
public static void main(java.lang.String[] args) throws java.io.IOException, java.sql.SQLExceptionUsage: java org.apache.openjpa.jdbc.schema.TableSchemaFactory [option]* -action/-a <add | drop> Where the following options are recognized.- -properties/-p <properties file or resource>: The
path or resource name of a OpenJPA properties file containing
information such as the license key and connection data as
outlined in
JDBCConfiguration. Optional. - -<property name> <property value>: All bean
properties of the OpenJPA
JDBCConfigurationcan be set by using their names and supplying a value. For example:-licenseKey adslfja83r3lkadf
- add: Create the schema table.
- drop: Drop the schema table.
- Throws:
java.io.IOExceptionjava.sql.SQLException
- -properties/-p <properties file or resource>: The
path or resource name of a OpenJPA properties file containing
information such as the license key and connection data as
outlined in
-
run
public static boolean run(JDBCConfiguration conf, java.lang.String[] args, Options opts) throws java.io.IOException, java.sql.SQLException
Run the tool. Returns false if invalid options were given.- Throws:
java.io.IOExceptionjava.sql.SQLException- See Also:
main(java.lang.String[])
-
run
public static boolean run(JDBCConfiguration conf, java.lang.String action) throws java.io.IOException, java.sql.SQLException
Run the tool.- Throws:
java.io.IOExceptionjava.sql.SQLException
-
-