public abstract class DatabaseObjectDefinition
extends java.lang.Object
implements java.lang.Cloneable, java.io.Serializable
Purpose: Define a database object for the purpose of creation and deletion. A database object is an entity such as a table, view, proc, sequence...
Responsibilities:
| Modifier and Type | Field and Description |
|---|---|
java.lang.String |
name |
java.lang.String |
qualifier |
| Constructor and Description |
|---|
DatabaseObjectDefinition() |
| Modifier and Type | Method and Description |
|---|---|
abstract java.io.Writer |
buildCreationWriter(AbstractSession session,
java.io.Writer writer)
INTERNAL:
Returns the writer used for creation of this object.
|
abstract java.io.Writer |
buildDeletionWriter(AbstractSession session,
java.io.Writer writer)
INTERNAL:
Returns the writer used for deletion of this object.
|
java.io.Writer |
buildVPDCreationFunctionWriter(AbstractSession session,
java.io.Writer writer)
INTERNAL:
Sub classes should override.
|
java.io.Writer |
buildVPDCreationPolicyWriter(AbstractSession session,
java.io.Writer writer)
INTERNAL:
Sub classes should override.
|
java.io.Writer |
buildVPDDeletionWriter(AbstractSession session,
java.io.Writer writer)
INTERNAL:
Sub classes should override.
|
java.lang.Object |
clone()
PUBLIC:
|
void |
createDatabaseSchema(AbstractSession session,
java.io.Writer writer,
java.util.Set<java.lang.String> createdDatabaseSchemas)
INTERNAL:
Execute the DDL to create the database schema for this object.
|
void |
createDatabaseSchemaOnDatabase(AbstractSession session,
java.util.Set<java.lang.String> createdDatabaseSchemas)
INTERNAL:
Execute the DDL to create the database schema for this object.
|
void |
createObject(AbstractSession session,
java.io.Writer schemaWriter)
INTERNAL:
Either drop from the database directly or write the statement to a file.
|
void |
createOnDatabase(AbstractSession session)
INTERNAL:
Execute the DDL to create this object.
|
void |
dropDatabaseSchema(AbstractSession session,
java.io.Writer writer)
INTERNAL:
Execute the DDL to drop the database schema for this object.
|
void |
dropDatabaseSchemaOnDatabase(AbstractSession session)
INTERNAL:
Execute the DDL to drop the database schema for this object.
|
void |
dropFromDatabase(AbstractSession session)
INTERNAL:
Execute the DDL to drop the object.
|
void |
dropObject(AbstractSession session,
java.io.Writer schemaWriter,
boolean createSQLFiles)
INTERNAL:
Execute the DDL to drop the object.
|
java.lang.String |
getDatabaseSchema()
PUBLIC:
Return the database schema associated with this database object.
|
java.lang.String |
getFullName()
INTERNAL:
Most major databases support a creator name scope.
|
java.lang.String |
getName()
PUBLIC:
Return the name of the object.
|
java.lang.String |
getQualifier()
PUBLIC:
Most major databases support a creator name scope.
|
void |
postCreateObject(AbstractSession session,
java.io.Writer createSchemaWriter,
boolean createSQLFiles)
Execute any statements required after the creation of the object
|
void |
preDropObject(AbstractSession session,
java.io.Writer dropSchemaWriter,
boolean createSQLFiles)
Execute any statements required before the deletion of the object
|
void |
setName(java.lang.String name)
PUBLIC:
Set the name of the object.
|
void |
setQualifier(java.lang.String qualifier)
PUBLIC:
Most major databases support a creator name scope.
|
boolean |
shouldCreateDatabaseSchema(java.util.Set<java.lang.String> createdDatabaseSchemas)
INTERNAL:
Subclasses who care should override this method, e.g.
|
boolean |
shouldCreateVPDCalls(AbstractSession session)
INTERNAL:
Subclasses who care should override this method.
|
java.lang.String |
toString() |
public abstract java.io.Writer buildCreationWriter(AbstractSession session, java.io.Writer writer) throws ValidationException
ValidationExceptionpublic java.io.Writer buildVPDCreationPolicyWriter(AbstractSession session, java.io.Writer writer)
public java.io.Writer buildVPDCreationFunctionWriter(AbstractSession session, java.io.Writer writer)
public java.io.Writer buildVPDDeletionWriter(AbstractSession session, java.io.Writer writer)
public abstract java.io.Writer buildDeletionWriter(AbstractSession session, java.io.Writer writer) throws ValidationException
ValidationExceptionpublic java.lang.Object clone()
clone in class java.lang.Objectpublic void createDatabaseSchema(AbstractSession session, java.io.Writer writer, java.util.Set<java.lang.String> createdDatabaseSchemas) throws EclipseLinkException
EclipseLinkExceptionTableDefinitionpublic void createDatabaseSchemaOnDatabase(AbstractSession session, java.util.Set<java.lang.String> createdDatabaseSchemas) throws EclipseLinkException
EclipseLinkExceptionTableDefinitionpublic void createObject(AbstractSession session, java.io.Writer schemaWriter) throws EclipseLinkException
EclipseLinkExceptionpublic void createOnDatabase(AbstractSession session) throws EclipseLinkException
EclipseLinkExceptionpublic boolean shouldCreateDatabaseSchema(java.util.Set<java.lang.String> createdDatabaseSchemas)
public boolean shouldCreateVPDCalls(AbstractSession session)
public void dropDatabaseSchema(AbstractSession session, java.io.Writer writer) throws EclipseLinkException
EclipseLinkExceptionTableDefinitionpublic void dropDatabaseSchemaOnDatabase(AbstractSession session) throws EclipseLinkException
EclipseLinkExceptionTableDefinitionpublic void dropFromDatabase(AbstractSession session) throws EclipseLinkException
EclipseLinkExceptionpublic void dropObject(AbstractSession session, java.io.Writer schemaWriter, boolean createSQLFiles) throws EclipseLinkException
EclipseLinkExceptionpublic java.lang.String getDatabaseSchema()
TableDefinitionpublic java.lang.String getFullName()
public java.lang.String getName()
public java.lang.String getQualifier()
public void postCreateObject(AbstractSession session, java.io.Writer createSchemaWriter, boolean createSQLFiles)
session - createSchemaWriter - public void preDropObject(AbstractSession session, java.io.Writer dropSchemaWriter, boolean createSQLFiles)
session - dropSchemaWriter - public void setName(java.lang.String name)
public void setQualifier(java.lang.String qualifier)
public java.lang.String toString()
toString in class java.lang.ObjectEclipseLink 2.6.3, "build v20160428-59c81c5" API Reference