org.apache.openjpa.jdbc.schema
Class SchemaGroup

java.lang.Object
  extended by org.apache.openjpa.jdbc.schema.NameSet
      extended by org.apache.openjpa.jdbc.schema.SchemaGroup
All Implemented Interfaces:
java.lang.Cloneable
Direct Known Subclasses:
DynamicSchemaFactory, LazySchemaFactory

public class SchemaGroup
extends NameSet
implements java.lang.Cloneable

Represents a grouping of schemas used in a database.

Author:
Abe White

Constructor Summary
SchemaGroup()
           
 
Method Summary
 Schema addSchema()
          Add a schema to the group.
 Schema addSchema(java.lang.String name)
          Add a schema to the group.
 java.lang.Object clone()
           
protected  void copy(SchemaGroup group)
          Copy cloneable state from the given instance.
 ForeignKey[] findExportedForeignKeys(PrimaryKey pk)
          Find all foreign keys exported by a given primary key (all foreign keys that link to the primary key).
 Sequence findSequence(Sequence seq)
          Find the equivalent of the given sequence in this schema group.
 Sequence findSequence(java.lang.String name)
          Find the sequence with the given name in the group, using '.' as the catalog separator.
 Table findTable(java.lang.String name)
          Find the table with the given name in the group, using '.' as the catalog separator.
 Table findTable(Table table)
          Find the equivalent of the given table in this schema group.
 Schema getSchema(java.lang.String name)
          Return the schema with the given name, or null if none.
 Schema[] getSchemas()
          Return all schemas.
 Schema importSchema(Schema schema)
          Import a schema from another group.
 boolean isKnownSequence(Sequence seq)
          Return true if the given sequence is known to exist.
 boolean isKnownSequence(java.lang.String name)
          Return true if the given sequence is known to exist.
 boolean isKnownTable(java.lang.String name)
          Return true if the given table is known to exist.
 boolean isKnownTable(Table table)
          Return true if the given table is known to exist.
protected  Column newColumn(java.lang.String name, Table table)
          Return a new column with the given name and owner table.
protected  ForeignKey newForeignKey(java.lang.String name, Table table)
          Return a new foreign key with the given name and owner table.
protected  Index newIndex(java.lang.String name, Table table)
          Return a new index with the given name and owner table.
protected  SchemaGroup newInstance()
          Create a new instance of this class.
protected  PrimaryKey newPrimaryKey(java.lang.String name, Table table)
          Return a new primary key with the given name and owner table.
protected  Schema newSchema(java.lang.String name)
          Return a new schema with the given name.
protected  Sequence newSequence(java.lang.String name, Schema schema)
          Return a new sequence with the given name and owner schema.
protected  Table newTable(java.lang.String name, Schema schema)
          Return a new table with the given name and owner schema.
protected  Unique newUnique(java.lang.String name, Table table)
          Return a new unique constraint with the given name and owner table.
 boolean removeSchema(Schema schema)
          Remove the given schema from the group.
 void removeUnusedComponents()
          Remove unreferenced or emtpy components from the schema.
 
Methods inherited from class org.apache.openjpa.jdbc.schema.NameSet
addName, isNameTaken, removeName
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SchemaGroup

public SchemaGroup()
Method Detail

getSchemas

public Schema[] getSchemas()
Return all schemas.


getSchema

public Schema getSchema(java.lang.String name)
Return the schema with the given name, or null if none.


addSchema

public Schema addSchema()
Add a schema to the group.


addSchema

public Schema addSchema(java.lang.String name)
Add a schema to the group.


removeSchema

public boolean removeSchema(Schema schema)
Remove the given schema from the group.

Returns:
true if the schema was removed, false if not in the group

importSchema

public Schema importSchema(Schema schema)
Import a schema from another group. Foreign keys are not imported.


isKnownTable

public boolean isKnownTable(Table table)
Return true if the given table is known to exist. While 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.


isKnownTable

public boolean isKnownTable(java.lang.String name)
Return true if the given table is known to exist. While 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.


findTable

public Table findTable(Table table)
Find the equivalent of the given table in this schema group. The given table that may have come from another schema group.


findTable

public Table findTable(java.lang.String name)
Find the table with the given name in the group, using '.' as the catalog separator. Returns null if no table found.


isKnownSequence

public boolean isKnownSequence(Sequence seq)
Return true if the given sequence is known to exist. While findSequence(org.apache.openjpa.jdbc.schema.Sequence) may exhibit dynamic behavior in some schema group implementations, this method only returns true if the sequence has been added to this group or is known to exist in the database.


isKnownSequence

public boolean isKnownSequence(java.lang.String name)
Return true if the given sequence is known to exist. While findSequence(org.apache.openjpa.jdbc.schema.Sequence) may exhibit dynamic behavior in some schema group implementations, this method only returns true if the sequence has been added to this group or is known to exist in the database.


findSequence

public Sequence findSequence(Sequence seq)
Find the equivalent of the given sequence in this schema group. The given sequence that may have come from another schema group.


findSequence

public Sequence findSequence(java.lang.String name)
Find the sequence with the given name in the group, using '.' as the catalog separator. Returns null if no sequence found.


findExportedForeignKeys

public ForeignKey[] findExportedForeignKeys(PrimaryKey pk)
Find all foreign keys exported by a given primary key (all foreign keys that link to the primary key).


removeUnusedComponents

public void removeUnusedComponents()
Remove unreferenced or emtpy components from the schema.


clone

public java.lang.Object clone()
Overrides:
clone in class java.lang.Object

newInstance

protected SchemaGroup newInstance()
Create a new instance of this class.


copy

protected void copy(SchemaGroup group)
Copy cloneable state from the given instance.


newSchema

protected Schema newSchema(java.lang.String name)
Return a new schema with the given name.


newSequence

protected Sequence newSequence(java.lang.String name,
                               Schema schema)
Return a new sequence with the given name and owner schema.


newTable

protected Table newTable(java.lang.String name,
                         Schema schema)
Return a new table with the given name and owner schema.


newColumn

protected Column newColumn(java.lang.String name,
                           Table table)
Return a new column with the given name and owner table.


newPrimaryKey

protected PrimaryKey newPrimaryKey(java.lang.String name,
                                   Table table)
Return a new primary key with the given name and owner table.


newIndex

protected Index newIndex(java.lang.String name,
                         Table table)
Return a new index with the given name and owner table.


newUnique

protected Unique newUnique(java.lang.String name,
                           Table table)
Return a new unique constraint with the given name and owner table.


newForeignKey

protected ForeignKey newForeignKey(java.lang.String name,
                                   Table table)
Return a new foreign key with the given name and owner table.



Copyright © 2006 Apache Software Foundation. All Rights Reserved.