package eu.eudat.data.query.definition; import eu.eudat.data.dao.criteria.Criteria; import eu.eudat.queryable.QueryableList; import eu.eudat.queryable.queryableentity.DataEntity; public abstract class Query, T extends DataEntity, K> implements CriteriaQuery { private C criteria; private QueryableList query; public QueryableList getQuery() { return query; } public void setQuery(QueryableList query) { this.query = query; } public C getCriteria() { return criteria; } public void setCriteria(C criteria) { this.criteria = criteria; } @Override public QueryableList collect() { return this.applyCriteria(); } }