liquibase.change.core
Class CreateProcedureChange

java.lang.Object
  extended by liquibase.change.AbstractChange
      extended by liquibase.change.core.CreateProcedureChange
All Implemented Interfaces:
Change, DbmsTargetedChange, LiquibaseSerializable

public class CreateProcedureChange
extends AbstractChange
implements DbmsTargetedChange


Nested Class Summary
 
Nested classes/interfaces inherited from interface liquibase.serializer.LiquibaseSerializable
LiquibaseSerializable.SerializationType
 
Field Summary
 
Fields inherited from interface liquibase.serializer.LiquibaseSerializable
GENERIC_CHANGELOG_EXTENSION_NAMESPACE, GENERIC_SNAPSHOT_EXTENSION_NAMESPACE, STANDARD_CHANGELOG_NAMESPACE, STANDARD_SNAPSHOT_NAMESPACE
 
Constructor Summary
CreateProcedureChange()
           
 
Method Summary
 ChangeStatus checkStatus(Database database)
          Validate that this change executed successfully against the given database.
protected  Map<String,Object> createExampleValueMetaData(String parameterName, DatabaseChangeProperty changePropertyAnnotation)
          Create the ChangeParameterMetaData "example" value.
 CheckSum generateCheckSum()
          Calculates the checksum based on the contained SQL.
 boolean generateRollbackStatementsVolatile(Database database)
          Implementation delegates logic to the SqlGenerator.generateRollbackStatementsIsVolatile(Database) method on the SqlStatement objects returned by Change.generateStatements(liquibase.database.Database) If no or null SqlStatements are returned by generateRollbackStatements then this method returns false.
 SqlStatement[] generateStatements(Database database)
          Generates the SqlStatement objects required to run the change for the given database.
protected  SqlStatement[] generateStatements(String logicText, String endDelimiter, Database database)
           
 boolean generateStatementsVolatile(Database database)
          Implementation delegates logic to the SqlGenerator.generateStatementsIsVolatile(Database) method on the SqlStatement objects returned by Change.generateStatements(liquibase.database.Database).
 String getCatalogName()
           
 String getComments()
           
 String getConfirmationMessage()
          Confirmation message to be displayed after the change is executed.
 String getDbms()
           
 String getEncoding()
           
 String getPath()
           
 String getProcedureBody()
           
 String getProcedureName()
           
 String getProcedureText()
           
 Boolean getReplaceIfExists()
           
 String getSchemaName()
           
 String getSerializedObjectNamespace()
           
 Boolean isRelativeToChangelogFile()
           
 InputStream openSqlStream()
           
 void setCatalogName(String catalogName)
           
 void setComments(String comments)
           
 void setDbms(String dbms)
           
 void setEncoding(String encoding)
           
 void setPath(String path)
           
 void setProcedureBody(String procedureText)
          Deprecated. Use setProcedureText() instead
 void setProcedureName(String procedureName)
           
 void setProcedureText(String procedureText)
           
 void setRelativeToChangelogFile(Boolean relativeToChangelogFile)
           
 void setReplaceIfExists(Boolean replaceIfExists)
           
 void setSchemaName(String schemaName)
           
 ValidationErrors validate(Database database)
          Implementation checks the ChangeParameterMetaData for declared required fields and also delegates logic to the SqlGenerator.validate(liquibase.statement.SqlStatement, liquibase.database.Database, liquibase.sqlgenerator.SqlGeneratorChain) method on the SqlStatement objects returned by Change.generateStatements(liquibase.database.Database).
 
Methods inherited from class liquibase.change.AbstractChange
createChangeMetaData, createChangeParameterMetadata, createDescriptionMetaData, createEmptyColumnConfig, createInverses, createMustEqualExistingMetaData, createRequiredDatabasesMetaData, createSerializationTypeMetaData, createSinceMetaData, createSupportedDatabasesMetaData, customLoadLogic, finishInitialization, generateRollbackStatements, getAffectedDatabaseObjects, getChangeSet, getDescription, getResourceAccessor, getSerializableFieldNamespace, getSerializableFields, getSerializableFieldType, getSerializableFieldValue, getSerializedObjectName, isInvalidProperty, load, serialize, serializeValue, setChangeSet, setResourceAccessor, supports, supportsRollback, toString, warn
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CreateProcedureChange

public CreateProcedureChange()
Method Detail

generateStatementsVolatile

public boolean generateStatementsVolatile(Database database)
Description copied from class: AbstractChange
Implementation delegates logic to the SqlGenerator.generateStatementsIsVolatile(Database) method on the SqlStatement objects returned by Change.generateStatements(liquibase.database.Database). If zero or null SqlStatements are returned by generateStatements then this method returns false.

Specified by:
generateStatementsVolatile in interface Change
Overrides:
generateStatementsVolatile in class AbstractChange

generateRollbackStatementsVolatile

public boolean generateRollbackStatementsVolatile(Database database)
Description copied from class: AbstractChange
Implementation delegates logic to the SqlGenerator.generateRollbackStatementsIsVolatile(Database) method on the SqlStatement objects returned by Change.generateStatements(liquibase.database.Database) If no or null SqlStatements are returned by generateRollbackStatements then this method returns false.

Specified by:
generateRollbackStatementsVolatile in interface Change
Overrides:
generateRollbackStatementsVolatile in class AbstractChange

getCatalogName

public String getCatalogName()

setCatalogName

public void setCatalogName(String catalogName)

getSchemaName

public String getSchemaName()

setSchemaName

public void setSchemaName(String schemaName)

getProcedureName

public String getProcedureName()

setProcedureName

public void setProcedureName(String procedureName)

getEncoding

public String getEncoding()

setEncoding

public void setEncoding(String encoding)

getPath

public String getPath()

setPath

public void setPath(String path)

isRelativeToChangelogFile

public Boolean isRelativeToChangelogFile()

setRelativeToChangelogFile

public void setRelativeToChangelogFile(Boolean relativeToChangelogFile)

getProcedureBody

public String getProcedureBody()

setProcedureBody

public void setProcedureBody(String procedureText)
Deprecated. Use setProcedureText() instead


getProcedureText

public String getProcedureText()

setProcedureText

public void setProcedureText(String procedureText)

getDbms

public String getDbms()
Specified by:
getDbms in interface DbmsTargetedChange
Returns:
A comma separated list of dbms' that this change will be run for. Will run for all dbms' if empty or null.

setDbms

public void setDbms(String dbms)
Specified by:
setDbms in interface DbmsTargetedChange

getComments

public String getComments()

setComments

public void setComments(String comments)

getReplaceIfExists

public Boolean getReplaceIfExists()

setReplaceIfExists

public void setReplaceIfExists(Boolean replaceIfExists)

validate

public ValidationErrors validate(Database database)
Description copied from class: AbstractChange
Implementation checks the ChangeParameterMetaData for declared required fields and also delegates logic to the SqlGenerator.validate(liquibase.statement.SqlStatement, liquibase.database.Database, liquibase.sqlgenerator.SqlGeneratorChain) method on the SqlStatement objects returned by Change.generateStatements(liquibase.database.Database). If no or null SqlStatements are returned by generateStatements then this method returns no errors. If there are no parameters than this method returns no errors

Specified by:
validate in interface Change
Overrides:
validate in class AbstractChange

openSqlStream

public InputStream openSqlStream()
                          throws IOException
Throws:
IOException

generateCheckSum

public CheckSum generateCheckSum()
Calculates the checksum based on the contained SQL.

Specified by:
generateCheckSum in interface Change
Overrides:
generateCheckSum in class AbstractChange
See Also:
AbstractChange.generateCheckSum()

generateStatements

public SqlStatement[] generateStatements(Database database)
Description copied from interface: Change
Generates the SqlStatement objects required to run the change for the given database.

NOTE: This method may be called multiple times throughout the changelog execution process and may be called in documentation generation and other integration points as well.

If this method reads from the current database state or uses any other logic that will be affected by whether previous changeSets have ran or not, you must return true from Change.generateStatementsVolatile(liquibase.database.Database).

Specified by:
generateStatements in interface Change

generateStatements

protected SqlStatement[] generateStatements(String logicText,
                                            String endDelimiter,
                                            Database database)

checkStatus

public ChangeStatus checkStatus(Database database)
Description copied from interface: Change
Validate that this change executed successfully against the given database. This will check that the update completed at a high level plus check details of the change. For example, a change to add a column will check that the column exists plus data type, default values, etc.

Specified by:
checkStatus in interface Change
Overrides:
checkStatus in class AbstractChange

getConfirmationMessage

public String getConfirmationMessage()
Description copied from interface: Change
Confirmation message to be displayed after the change is executed. Should include relevant configuration settings to make it as helpful as possible. This method may be called outside the changelog execution process, such as in documentation generation.

Specified by:
getConfirmationMessage in interface Change

getSerializedObjectNamespace

public String getSerializedObjectNamespace()
Specified by:
getSerializedObjectNamespace in interface LiquibaseSerializable
Overrides:
getSerializedObjectNamespace in class AbstractChange

createExampleValueMetaData

protected Map<String,Object> createExampleValueMetaData(String parameterName,
                                                        DatabaseChangeProperty changePropertyAnnotation)
Description copied from class: AbstractChange
Create the ChangeParameterMetaData "example" value. Uses the value on the DatabaseChangeProperty annotation or returns null as a default. Returns map with key=database short name, value=example. Use short-name "all" as the fallback.

Overrides:
createExampleValueMetaData in class AbstractChange


Copyright © 2016 Liquibase.org. All rights reserved.