public abstract class DatabaseObjectDefinition extends Object implements Cloneable, 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:
Constructor and Description |
---|
DatabaseObjectDefinition() |
Modifier and Type | Method and Description |
---|---|
abstract Writer |
buildCreationWriter(AbstractSession session,
Writer writer)
INTERNAL:
Returns the writer used for creation of this object.
|
abstract Writer |
buildDeletionWriter(AbstractSession session,
Writer writer)
INTERNAL:
Returns the writer used for deletion of this object.
|
Writer |
buildVPDCreationFunctionWriter(AbstractSession session,
Writer writer)
INTERNAL:
Sub classes should override.
|
Writer |
buildVPDCreationPolicyWriter(AbstractSession session,
Writer writer)
INTERNAL:
Sub classes should override.
|
Writer |
buildVPDDeletionWriter(AbstractSession session,
Writer writer)
INTERNAL:
Sub classes should override.
|
Object |
clone()
PUBLIC:
|
void |
createDatabaseSchema(AbstractSession session,
Writer writer,
Set<String> createdDatabaseSchemas)
INTERNAL:
Execute the DDL to create the database schema for this object.
|
void |
createDatabaseSchemaOnDatabase(AbstractSession session,
Set<String> createdDatabaseSchemas)
INTERNAL:
Execute the DDL to create the database schema for this object.
|
void |
createObject(AbstractSession session,
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,
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,
Writer schemaWriter,
boolean createSQLFiles)
INTERNAL:
Execute the DDL to drop the object.
|
String |
getDatabaseSchema()
PUBLIC:
Return the database schema associated with this database object.
|
String |
getFullName()
INTERNAL:
Most major databases support a creator name scope.
|
String |
getName()
PUBLIC:
Return the name of the object.
|
String |
getQualifier()
PUBLIC:
Most major databases support a creator name scope.
|
void |
postCreateObject(AbstractSession session,
Writer createSchemaWriter,
boolean createSQLFiles)
Execute any statements required after the creation of the object
|
void |
preDropObject(AbstractSession session,
Writer dropSchemaWriter,
boolean createSQLFiles)
Execute any statements required before the deletion of the object
|
void |
setName(String name)
PUBLIC:
Set the name of the object.
|
void |
setQualifier(String qualifier)
PUBLIC:
Most major databases support a creator name scope.
|
boolean |
shouldCreateDatabaseSchema(Set<String> createdDatabaseSchemas)
INTERNAL:
Subclasses who care should override this method, e.g.
|
boolean |
shouldCreateVPDCalls(AbstractSession session)
INTERNAL:
Subclasses who care should override this method.
|
String |
toString() |
public abstract Writer buildCreationWriter(AbstractSession session, Writer writer) throws ValidationException
ValidationException
public Writer buildVPDCreationPolicyWriter(AbstractSession session, Writer writer)
public Writer buildVPDCreationFunctionWriter(AbstractSession session, Writer writer)
public Writer buildVPDDeletionWriter(AbstractSession session, Writer writer)
public abstract Writer buildDeletionWriter(AbstractSession session, Writer writer) throws ValidationException
ValidationException
public void createDatabaseSchema(AbstractSession session, Writer writer, Set<String> createdDatabaseSchemas) throws EclipseLinkException
EclipseLinkException
TableDefinition
public void createDatabaseSchemaOnDatabase(AbstractSession session, Set<String> createdDatabaseSchemas) throws EclipseLinkException
EclipseLinkException
TableDefinition
public void createObject(AbstractSession session, Writer schemaWriter) throws EclipseLinkException
EclipseLinkException
public void createOnDatabase(AbstractSession session) throws EclipseLinkException
EclipseLinkException
public boolean shouldCreateDatabaseSchema(Set<String> createdDatabaseSchemas)
public boolean shouldCreateVPDCalls(AbstractSession session)
public void dropDatabaseSchema(AbstractSession session, Writer writer) throws EclipseLinkException
EclipseLinkException
TableDefinition
public void dropDatabaseSchemaOnDatabase(AbstractSession session) throws EclipseLinkException
EclipseLinkException
TableDefinition
public void dropFromDatabase(AbstractSession session) throws EclipseLinkException
EclipseLinkException
public void dropObject(AbstractSession session, Writer schemaWriter, boolean createSQLFiles) throws EclipseLinkException
EclipseLinkException
public String getDatabaseSchema()
TableDefinition
public String getFullName()
public String getName()
public String getQualifier()
public void postCreateObject(AbstractSession session, Writer createSchemaWriter, boolean createSQLFiles)
session
- createSchemaWriter
- public void preDropObject(AbstractSession session, Writer dropSchemaWriter, boolean createSQLFiles)
session
- dropSchemaWriter
- public void setName(String name)
public void setQualifier(String qualifier)
EclipseLink 2.6.3, "build v20160428-59c81c5" API Reference