liquibase.statement.core.SelectFromDatabaseChangeLogStatement Maven / Gradle / Ivy
package liquibase.statement.core;
import liquibase.change.ColumnConfig;
import liquibase.statement.AbstractSqlStatement;
public class SelectFromDatabaseChangeLogStatement extends AbstractSqlStatement {
private ColumnConfig[] columnsToSelect;
private WhereClause whereClause;
private String[] orderByColumns;
private Integer limit;
public SelectFromDatabaseChangeLogStatement(String... columnsToSelect) {
if (columnsToSelect != null) {
this.columnsToSelect = new ColumnConfig[columnsToSelect.length];
for (int i = 0; i < columnsToSelect.length; i++) {
this.columnsToSelect[i] = new ColumnConfig().setName(columnsToSelect[i]);
}
}
}
public SelectFromDatabaseChangeLogStatement(ColumnConfig... columnsToSelect) {
this(null, columnsToSelect);
}
public SelectFromDatabaseChangeLogStatement(WhereClause whereClause, ColumnConfig... columnsToSelect) {
this.columnsToSelect = columnsToSelect;
this.whereClause = whereClause;
}
public ColumnConfig[] getColumnsToSelect() {
return columnsToSelect;
}
public WhereClause getWhereClause() {
return whereClause;
}
public String[] getOrderByColumns() {
return orderByColumns;
}
public SelectFromDatabaseChangeLogStatement setOrderBy(String... columns) {
this.orderByColumns = columns;
return this;
}
public Integer getLimit() {
return limit;
}
public SelectFromDatabaseChangeLogStatement setLimit(Integer limit) {
this.limit = limit;
return this;
}
public static interface WhereClause {
}
public static class ByNotNullCheckSum implements WhereClause {
}
public static class ByTag implements WhereClause {
private String tagName;
public ByTag(String tagName) {
this.tagName = tagName;
}
public String getTagName() {
return tagName;
}
}
}