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

io.crnk.jpa.internal.query.backend.JpaQueryBackend Maven / Gradle / Ivy

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

import io.crnk.core.queryspec.Direction;
import io.crnk.core.queryspec.FilterOperator;
import io.crnk.meta.model.MetaAttribute;
import io.crnk.meta.model.MetaAttributePath;

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

public interface JpaQueryBackend {

	void distinct();

	F getRoot();

	void setOrder(List orderSpecListToOrderArray);

	List getOrderList();

	O newSort(E expression, Direction dir);

	void addPredicate(P predicate);

	E getAttribute(MetaAttributePath attrPath);

	void addParentPredicate(MetaAttribute primaryKeyAttr);

	boolean hasManyRootsFetchesOrJoins();

	void addSelection(E expression, String name);

	E getExpression(O order);

	boolean containsRelation(E expression);

	P buildPredicate(FilterOperator operator, MetaAttributePath path, Object value);

	P and(List

predicates); P not(P predicate); P or(List

predicates); Class getJavaElementType(E currentCriteriaPath); E getAttribute(E currentCriteriaPath, MetaAttribute pathElement); E joinSubType(E currentCriteriaPath, Class entityType); E joinMapValue(E currentCriteriaPath, MetaAttribute pathElement, Object key); F doJoin(MetaAttribute targetAttr, JoinType joinType, F parent); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy