|
Oracle Fusion Middleware Java API Reference for Oracle Extension SDK Reference 11g Release 1 (11.1.1.6.0) E13403-07 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object oracle.javatools.db.property.AbstractPropertyManager oracle.javatools.db.ddl.TokenDDLGenerator<T>
public class TokenDDLGenerator<T extends DDLType>
TokenDDLGenerator is DDLGenerator implementation that takes the registration
of "ddl code tokens" and registers CreateDDLGenerator
,
DropDDLGenerator
and AlterDDLGenerator
with the superclass
as appropriate. This allows users (or subclasses) to create a full
DDLGenerator implementation just by provider ddl "token code" which will then
be processed as appropriate when DDL is requested.
Constructor Summary | |
---|---|
TokenDDLGenerator(DBObjectProvider pro)
Note the first parameter is a DBObjectProvider. |
Method Summary | |
---|---|
protected boolean |
canChangeWithAlter(DBObject orig,
DBObject update,
java.lang.String prop)
Returns true if the given property can be changed using an alter on the given original and updated objects. |
protected boolean |
canCreate(java.lang.String type,
java.lang.String prop)
Tests whether the given property is supported for create on the given object type. |
protected void |
copyGenerators(oracle.javatools.db.ddl.DDLGeneratorImpl other,
java.lang.String type,
boolean incAlter)
Copies the ddl generators for the given object type from this generator to another generator implementation. |
protected DDL |
createDDL(DDLOptions options,
java.lang.String code,
DBObject obj,
DDLType ddlType)
Creates a new DDL object with the given ddlCode by processing the given code using a TokenProcessor and using the resulting String as the DDL string. |
protected DDL |
createUpdateDDL(DDLOptions options,
java.lang.String code,
Difference rs,
DDLType ddlType)
Creates a new update DDL object with the given ddlCode by processing the given update code using a TokenProcessor and using the resulting String as the DDL string. |
protected DDL<T> |
finish(DDLOptions options,
DDL<T> ddl)
This method is called on every DDL created before it is returned. |
DDL<T> |
getCreateDDL(DDLOptions options,
DBObject... objects)
Gets CREATE statements for the given objects. |
Ddl |
getCreateDDL(Schema schema)
Deprecated. |
Ddl |
getCreateDDL(SchemaObject[] objects,
boolean replace,
boolean cascade)
Deprecated. |
Ddl |
getCreateDDL(SchemaObject obj,
boolean replace,
boolean cascade)
Deprecated. |
protected DDL<T> |
getCreateDDLImpl(DDLOptions options,
DBObject... objects)
|
DDL<T> |
getDeleteDDL(DDLOptions options,
DBObject... objects)
Gets DROP statements for the given objects. |
Ddl |
getDeleteDDL(Schema schema,
boolean cascade)
Deprecated. |
Ddl |
getDeleteDDL(SchemaObject[] objects,
boolean cascade)
Deprecated. |
Ddl |
getDeleteDDL(SchemaObject object,
boolean cascade)
Deprecated. |
protected DDL<T> |
getDeleteDDLImpl(DDLOptions options,
DBObject... objects)
|
protected PropertyHelper |
getPropertyHelper()
|
DDL<T> |
getUndeleteDDL(DDLOptions options,
DBObject... objects)
Gets statements to undelete (e.g. |
DDL<T> |
getUpdateDDL(DDLOptions options,
Difference resultSet)
Gets ALTER statements for the given objects where possible, or DROP/CREATE, or CREATE AND REPLACE where appropriate/necessary. |
Ddl[] |
getUpdateDDL(Difference resultSet,
boolean replace,
boolean cascade)
Deprecated. |
Ddl[] |
getUpdateDDL(SchemaObject[] oldObjects,
SchemaObject[] newObjects)
Deprecated. |
Ddl[] |
getUpdateDDL(SchemaObject oldObject,
SchemaObject newObject)
Deprecated. |
protected DDL<T> |
getUpdateDDLImpl(DDLOptions options,
Difference rs)
Gets the update DDL for the given Difference. |
void |
includeSyntax(DatabaseDescriptor otherDatabase,
java.lang.String type,
boolean includeAlter)
Includes the ddl syntax from another database type's ddl generator into this ddl generator for a given object type. |
protected void |
processResultSet(DDLOptions options,
Difference rs,
DDL<T> ddl)
|
void |
registerAlterDDL(java.lang.String type,
java.lang.String code,
DDLType ddlType)
|
protected void |
registerAlterGenerator(java.lang.String type,
AlterDDLGenerator deletor)
|
void |
registerCreateDDL(java.lang.String type,
java.lang.String code,
DDLType ddlType)
|
protected void |
registerCreateGenerator(java.lang.String type,
CreateDDLGenerator creator)
|
void |
registerDropDDL(java.lang.String type,
java.lang.String code,
DDLType ddlType)
|
protected void |
registerDropGenerator(java.lang.String type,
DropDDLGenerator dropper)
|
void |
registerTokenGenerator(java.lang.String tokenName,
TokenGenerator gen)
Registers the given token generator for a tokenName. |
protected void |
registerTopLevelChild(java.lang.String type,
java.lang.String propPath,
java.lang.String childType)
Registers a child object property, that can be treated as a top level object in the ddl, and therefore when encountered the generator should recurse onto the object. |
void |
registerUndeleteDDL(java.lang.String type,
java.lang.String code,
DDLType ddlType)
|
protected void |
registerUndeleteGenerator(java.lang.String type,
UndeleteDDLGenerator undeletor)
|
boolean |
supportsAction(java.lang.String type,
PropertyAction.Type actionType)
Asks whether a given action is supported for the specified object type in this provider. |
Methods inherited from class oracle.javatools.db.property.AbstractPropertyManager |
---|
canAlterProperty, canChangeProperty, canChangeWithReplace, canCreate, canUpdateObject, canUpdateObject, getLogger, getProvider, getProviderClass, supportsProperty, supportsProperty |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface oracle.javatools.db.property.PropertyManager |
---|
canAlterProperty, canChangeProperty, canUpdateObject, canUpdateObject, supportsProperty |
Constructor Detail |
---|
public TokenDDLGenerator(DBObjectProvider pro)
Method Detail |
---|
public void registerTokenGenerator(java.lang.String tokenName, TokenGenerator gen)
tokenName
- the token name this new generator is responsible forgen
- the generator itselfpublic final void registerCreateDDL(java.lang.String type, java.lang.String code, DDLType ddlType)
public final void registerDropDDL(java.lang.String type, java.lang.String code, DDLType ddlType)
public final void registerUndeleteDDL(java.lang.String type, java.lang.String code, DDLType ddlType)
public final void registerAlterDDL(java.lang.String type, java.lang.String code, DDLType ddlType)
protected DDL createDDL(DDLOptions options, java.lang.String code, DBObject obj, DDLType ddlType)
This method can return null if the token processor returns an empty string. This is possible if the entire statement is an "if" which is allowed for certain DDL statements (which may only execute given certain conditions/properties).
options
- the ddl generation optionscode
- the token code to processobj
- the context objectddlCode
- the type of DDL we are creating
protected DDL createUpdateDDL(DDLOptions options, java.lang.String code, Difference rs, DDLType ddlType)
This method can return null if the token processor returns an empty string. This is possible if the entire statement is an "if" which is allowed for certain DDL statements (which may only execute given certain conditions/properties).
options
- the ddl generation optionscode
- the token code to processrs
- the changes to generate update DDL forddlCode
- the type of DDL we are creating
public void includeSyntax(DatabaseDescriptor otherDatabase, java.lang.String type, boolean includeAlter)
otherDatabase
- the descriptor for the type of database the syntax is
to be included fromtype
- the object type the ddl is forincludeAlter
- whether to include alter syntax (true), or just create
and drop (false).protected PropertyHelper getPropertyHelper()
protected final void registerCreateGenerator(java.lang.String type, CreateDDLGenerator creator)
protected final void registerDropGenerator(java.lang.String type, DropDDLGenerator dropper)
protected final void registerAlterGenerator(java.lang.String type, AlterDDLGenerator deletor)
protected final void registerUndeleteGenerator(java.lang.String type, UndeleteDDLGenerator undeletor)
protected final void copyGenerators(oracle.javatools.db.ddl.DDLGeneratorImpl other, java.lang.String type, boolean incAlter)
other
- the ddl generator to copy syntax totype
- the object type to copyincAlter
- whether to include alter ddl statements, or just create
and drop.protected final void registerTopLevelChild(java.lang.String type, java.lang.String propPath, java.lang.String childType)
type
- the parent object type (e.g. Table.TYPE
)propPath
- the path to the child property (e.g. indexes
)childType
- the child object type that can be treated in its own right
in the ddl generator (e.g. Index.TYPE
)protected DDL<T> getCreateDDLImpl(DDLOptions options, DBObject... objects)
protected DDL<T> getDeleteDDLImpl(DDLOptions options, DBObject... objects)
public DDL<T> getUndeleteDDL(DDLOptions options, DBObject... objects)
DDLGenerator
protected DDL<T> getUpdateDDLImpl(DDLOptions options, Difference rs)
options
- the options for generationrs
- the Difference for the object to alter
protected boolean canCreate(java.lang.String type, java.lang.String prop)
AbstractPropertyManager
protected DDL<T> finish(DDLOptions options, DDL<T> ddl)
options
- the options for the current generationddl
- the ddl we've generated and are about to returnpublic boolean supportsAction(java.lang.String type, PropertyAction.Type actionType)
PropertyManager
supportsAction
in interface PropertyManager
protected boolean canChangeWithAlter(DBObject orig, DBObject update, java.lang.String prop)
AbstractPropertyManager
canChangeWithAlter
in class AbstractPropertyManager
public final DDL<T> getCreateDDL(DDLOptions options, DBObject... objects)
DDLGenerator
getCreateDDL
in interface DDLGenerator<T extends DDLType>
public final DDL<T> getDeleteDDL(DDLOptions options, DBObject... objects)
DDLGenerator
getDeleteDDL
in interface DDLGenerator<T extends DDLType>
public final DDL<T> getUpdateDDL(DDLOptions options, Difference resultSet)
DDLGenerator
getUpdateDDL
in interface DDLGenerator<T extends DDLType>
protected final void processResultSet(DDLOptions options, Difference rs, DDL<T> ddl)
@Deprecated public final Ddl getCreateDDL(SchemaObject obj, boolean replace, boolean cascade)
@Deprecated public final Ddl getCreateDDL(SchemaObject[] objects, boolean replace, boolean cascade)
@Deprecated public final Ddl getDeleteDDL(SchemaObject object, boolean cascade)
@Deprecated public final Ddl getDeleteDDL(SchemaObject[] objects, boolean cascade)
@Deprecated public final Ddl[] getUpdateDDL(SchemaObject oldObject, SchemaObject newObject)
@Deprecated public final Ddl[] getUpdateDDL(SchemaObject[] oldObjects, SchemaObject[] newObjects)
@Deprecated public final Ddl[] getUpdateDDL(Difference resultSet, boolean replace, boolean cascade)
@Deprecated public final Ddl getCreateDDL(Schema schema)
@Deprecated public final Ddl getDeleteDDL(Schema schema, boolean cascade)
|
Oracle Fusion Middleware Java API Reference for Oracle Extension SDK Reference 11g Release 1 (11.1.1.6.0) E13403-07 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |