package liquibase.ext.ora.droptrigger;
import liquibase.database.Database;
import liquibase.database.core.OracleDatabase;
import liquibase.exception.ValidationErrors;
import liquibase.sql.Sql;
import liquibase.sql.UnparsedSql;
import liquibase.sqlgenerator.SqlGeneratorChain;
import liquibase.sqlgenerator.core.AbstractSqlGenerator;
public class DropTriggerGenerator extends AbstractSqlGenerator<DropTriggerStatement> {
public boolean supports(DropTriggerStatement statement, Database database) {
return (database instanceof OracleDatabase);
}
public ValidationErrors validate(DropTriggerStatement dropTrigger, Database database, SqlGeneratorChain sqlGeneratorChain) {
ValidationErrors validationErrors = new ValidationErrors();
validationErrors.checkRequiredField("triggerName", dropTrigger.getTriggerName());
return validationErrors;
}
public Sql[] generateSql(DropTriggerStatement statement, Database database, SqlGeneratorChain sqlGeneratorChain) {
StringBuilder sql = new StringBuilder();
sql.append("DROP TRIGGER ");
if (statement.getSchemaName() != null) {
sql.append(statement.getSchemaName())
.append(".");
}
if (statement.getTriggerName() != null) {
sql.append(statement.getTriggerName());
}
return new Sql[]{
new UnparsedSql(sql.toString())
};
}
}