argos/dmp-backend/src/main/java/eu/eudat/queryable/QueryableList.java

28 lines
667 B
Java
Raw Normal View History

package eu.eudat.queryable;
import eu.eudat.queryable.predicates.OrderByPredicate;
import eu.eudat.queryable.predicates.SelectPredicate;
import eu.eudat.queryable.predicates.SinglePredicate;
import java.util.List;
public interface QueryableList<T> {
QueryableList<T> where(SinglePredicate<T> predicate);
<R> List<R> select(SelectPredicate<T, R> predicate);
List<T> toList();
QueryableList<T> skip(Integer offset);
QueryableList<T> take(Integer length);
QueryableList<T> distinct();
2017-12-23 16:56:05 +01:00
QueryableList<T> orderByAsc(OrderByPredicate<T> predicate);
QueryableList<T> orderByDesc(OrderByPredicate<T> predicate);
2017-12-19 15:09:49 +01:00
Long count();
}