Package org.apache.openjpa.jdbc.schema
Class DynamicSchemaFactory
- java.lang.Object
-
- org.apache.openjpa.jdbc.schema.NameSet
-
- org.apache.openjpa.jdbc.schema.SchemaGroup
-
- org.apache.openjpa.jdbc.schema.DynamicSchemaFactory
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,SchemaFactory
,Configurable
public class DynamicSchemaFactory extends SchemaGroup implements SchemaFactory, Configurable
Factory whose schema group dynamically fills itself with information as mappings validate themselves in theirmap
method. Tables are added whenSchemaGroup.findTable(org.apache.openjpa.jdbc.schema.Table)
is called. Columns are added to tables whenTable.getColumn(java.lang.String)
is called. And the column types are set whenColumn.isCompatible(int, java.lang.String, int, int)
is called.- Author:
- Abe White
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description DynamicSchemaFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
endConfiguration()
Invoked upon completion of bean property configuration for this object.Table
findTable(java.lang.String name)
Find the table with the given name in the group, using '.' as the catalog separator.Table
findTable(DBIdentifier name)
Table
findTable(QualifiedDBIdentifier path)
boolean
isKnownTable(java.lang.String name)
Return true if the given table is known to exist.boolean
isKnownTable(QualifiedDBIdentifier path)
boolean
isKnownTable(Table table)
Return true if the given table is known to exist.protected Column
newColumn(DBIdentifier name, Table table)
protected Table
newTable(DBIdentifier name, Schema schema)
SchemaGroup
readSchema()
Return the schema group for the current object model and database.void
setConfiguration(Configuration conf)
Invoked prior to setting bean properties.void
startConfiguration()
Invoked before bean property configuration is begun on this object.void
storeSchema(SchemaGroup schema)
Record the schema group after changes may have been made.-
Methods inherited from class org.apache.openjpa.jdbc.schema.SchemaGroup
addSchema, addSchema, addSchema, clone, copy, findExportedForeignKeys, findSequence, findSequence, findSequence, findSequence, findSequence, findSequence, findTable, findTable, findTable, findTable, findTable, getSchema, getSchema, getSchemas, importSchema, isKnownSequence, isKnownSequence, isKnownSequence, isKnownSequence, newColumn, newForeignKey, newForeignKey, newIndex, newIndex, newInstance, newPrimaryKey, newPrimaryKey, newSchema, newSchema, newSequence, newSequence, newTable, newUnique, newUnique, removeSchema, removeUnusedComponents
-
Methods inherited from class org.apache.openjpa.jdbc.schema.NameSet
addName, addName, isNameTaken, isNameTaken, removeName, removeName
-
-
-
-
Method Detail
-
setConfiguration
public void setConfiguration(Configuration conf)
Description copied from interface:Configurable
Invoked prior to setting bean properties.- Specified by:
setConfiguration
in interfaceConfigurable
-
startConfiguration
public void startConfiguration()
Description copied from interface:Configurable
Invoked before bean property configuration is begun on this object.- Specified by:
startConfiguration
in interfaceConfigurable
-
endConfiguration
public void endConfiguration()
Description copied from interface:Configurable
Invoked upon completion of bean property configuration for this object.- Specified by:
endConfiguration
in interfaceConfigurable
-
readSchema
public SchemaGroup readSchema()
Description copied from interface:SchemaFactory
Return the schema group for the current object model and database.- Specified by:
readSchema
in interfaceSchemaFactory
-
storeSchema
public void storeSchema(SchemaGroup schema)
Description copied from interface:SchemaFactory
Record the schema group after changes may have been made.- Specified by:
storeSchema
in interfaceSchemaFactory
- Parameters:
schema
- the schema definition for the entire system
-
isKnownTable
public boolean isKnownTable(Table table)
Description copied from class:SchemaGroup
Return true if the given table is known to exist. WhileSchemaGroup.findTable(org.apache.openjpa.jdbc.schema.Table)
may exhibit dynamic behavior in some schema group implementations, this method only returns true if the table has been added to this group or is known to exist in the database.- Overrides:
isKnownTable
in classSchemaGroup
-
isKnownTable
public boolean isKnownTable(java.lang.String name)
Description copied from class:SchemaGroup
Return true if the given table is known to exist. WhileSchemaGroup.findTable(org.apache.openjpa.jdbc.schema.Table)
may exhibit dynamic behavior in some schema group implementations, this method only returns true if the table has been added to this group or is known to exist in the database.- Overrides:
isKnownTable
in classSchemaGroup
-
isKnownTable
public boolean isKnownTable(QualifiedDBIdentifier path)
- Overrides:
isKnownTable
in classSchemaGroup
-
findTable
public Table findTable(java.lang.String name)
Description copied from class:SchemaGroup
Find the table with the given name in the group, using '.' as the catalog separator. Returns null if no table found.- Overrides:
findTable
in classSchemaGroup
-
findTable
public Table findTable(DBIdentifier name)
-
findTable
public Table findTable(QualifiedDBIdentifier path)
- Overrides:
findTable
in classSchemaGroup
-
newTable
protected Table newTable(DBIdentifier name, Schema schema)
- Overrides:
newTable
in classSchemaGroup
-
newColumn
protected Column newColumn(DBIdentifier name, Table table)
- Overrides:
newColumn
in classSchemaGroup
-
-