package eu.eudat.data.query.definition; import eu.eudat.data.dao.criteria.Criteria; import eu.eudat.data.query.definition.helpers.ColumnOrderings; import eu.eudat.data.query.definition.helpers.SelectionFields; import eu.eudat.queryable.QueryableList; import eu.eudat.queryable.queryableentity.DataEntity; public abstract class TableQuery, T extends DataEntity, K> extends Query implements TableCriteriaQuery { private ColumnOrderings orderings; private SelectionFields selection; private Integer length; private Integer offset; public Integer getLength() { return length; } public void setLength(Integer length) { this.length = length; } public Integer getOffset() { return offset; } public void setOffset(Integer offset) { this.offset = offset; } public ColumnOrderings getOrderings() { return orderings; } public void setOrderings(ColumnOrderings orderings) { this.orderings = orderings; } public SelectionFields getSelection() { return selection; } public void setSelection(SelectionFields selection) { this.selection = selection; } @Override public QueryableList collect() { return this.applyPaging(super.collect()); } @Override public QueryableList collect(QueryableList repo) { return this.applyPaging(super.collect(repo)); } }