
liquibase.ext.ora.grant.AbstractObjectPermissionStatement Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of liquibase-oracle Show documentation
Show all versions of liquibase-oracle Show documentation
Some tags to work on Oracle DB.
package liquibase.ext.ora.grant;
import java.util.ArrayList;
import java.util.List;
import liquibase.exception.ValidationErrors;
import liquibase.statement.AbstractSqlStatement;
import liquibase.util.StringUtils;
public abstract class AbstractObjectPermissionStatement extends
AbstractSqlStatement {
protected String schemaName;
protected String objectName;
protected String recipientList;
private Boolean select = Boolean.FALSE;
private Boolean update = Boolean.FALSE;
private Boolean insert = Boolean.FALSE;
private Boolean delete = Boolean.FALSE;
private Boolean execute = Boolean.FALSE;
public AbstractObjectPermissionStatement() {
super();
}
public AbstractObjectPermissionStatement(String schemaName, String objectName,
String recipientList) {
this();
this.schemaName = schemaName;
this.objectName = objectName;
this.recipientList = recipientList;
}
public String getSchemaName() {
return schemaName;
}
public void setSchemaName(String schemaName) {
this.schemaName = schemaName;
}
public String getObjectName() {
return objectName;
}
public void setObjectName(String objectName) {
this.objectName = objectName;
}
public String getRecipientList() {
return recipientList;
}
public void setRecipientList(String recipientList) {
this.recipientList = recipientList;
}
public Boolean getSelect() {
if ( select == null ) {
return false;
}
return select;
}
public void setSelect(Boolean select) {
this.select = select;
}
public Boolean getUpdate() {
if ( update == null ) {
return false;
}
return update;
}
public void setUpdate(Boolean update) {
this.update = update;
}
public Boolean getInsert() {
if ( insert == null ) {
return false;
}
return insert;
}
public void setInsert(Boolean insert) {
this.insert = insert;
}
public Boolean getDelete() {
if ( delete == null ) {
return false;
}
return delete;
}
public void setDelete(Boolean delete) {
this.delete = delete;
}
public Boolean getExecute() {
if ( execute == null ) {
return false;
}
return execute;
}
public void setExecute(Boolean execute) {
this.execute = execute;
}
public String getPermissionList() {
List permissions = new ArrayList(5);
if ( getSelect() ) {
permissions.add( "SELECT" );
}
if ( getUpdate() ) {
permissions.add( "UPDATE" );
}
if ( getInsert() ) {
permissions.add( "INSERT" );
}
if ( getDelete() ) {
permissions.add( "DELETE" );
}
if ( getExecute() ) {
permissions.add( "EXECUTE" );
}
return StringUtils.join(permissions, ",");
}
public ValidationErrors validate() {
ValidationErrors validationErrors = new ValidationErrors();
validationErrors.checkRequiredField("tableName", getObjectName());
validationErrors.checkRequiredField("recipientList", getRecipientList());
if ( !getSelect()
&& !getUpdate()
&& !getInsert()
&& !getDelete()
&& !getExecute()
) {
validationErrors.addError("You must specify at least one permission.");
}
return validationErrors;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy