All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.crnk.jpa.query.JpaQuery Maven / Gradle / Ivy

There is a newer version: 2.6.20180522184741
Show newest version
package io.crnk.jpa.query;

import io.crnk.core.queryspec.Direction;
import io.crnk.core.queryspec.FilterOperator;
import io.crnk.core.queryspec.FilterSpec;
import io.crnk.core.queryspec.SortSpec;

import javax.persistence.criteria.JoinType;
import java.util.List;

public interface JpaQuery {

	JpaQuery setEnsureTotalOrder(boolean ensureTotalOrder);

	JpaQuery addFilter(FilterSpec filters);

	JpaQuery addSortBy(List path, Direction dir);

	JpaQuery addSortBy(SortSpec order);

	JpaQuery setDefaultJoinType(JoinType joinType);

	JpaQuery setJoinType(List path, JoinType joinType);

	JpaQuery setAutoGroupBy(boolean autoGroupBy);

	JpaQuery setDistinct(boolean distinct);

	JpaQuery addFilter(List attrPath, FilterOperator operator, Object value);

	JpaQuery addFilter(String attrPath, FilterOperator operator, Object value);

	JpaQueryExecutor buildExecutor();

	Class getEntityClass();

	void addSelection(List path);

	void addParentIdSelection();

	/**
	 * @return private data that can be set by the consumer to provide some context for a query, for example, when being called back by an interceptor. Does
	 * not have any direct impact on the created query.
	 */
	Object getPrivateData();

	void setPrivateData(Object privateData);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy