Class DefaultJpaRSQLCriteriaBuilder
- java.lang.Object
-
- com.broadleafcommerce.data.tracking.jpa.filtering.fetch.rsql.DefaultJpaRSQLCriteriaBuilder
-
- All Implemented Interfaces:
JpaRSQLCriteriaBuilder
- Direct Known Subclasses:
BasicJpaRSQLCriteriaBuilder
public class DefaultJpaRSQLCriteriaBuilder extends Object implements JpaRSQLCriteriaBuilder
- Author:
- Jeff Fischer
- See Also:
JpaRSQLCriteriaBuilder
-
-
Constructor Summary
Constructors Constructor Description DefaultJpaRSQLCriteriaBuilder(JpaRSQLArgumentParser argumentParser)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description javax.persistence.criteria.Predicate
createCriteria(cz.jirutka.rsql.parser.ast.ComparisonNode comparisonNode, Class<?> rootType)
Create aPredicate
based on a comparisonNode
and root repository domain type.javax.persistence.criteria.Predicate
createCriteria(cz.jirutka.rsql.parser.ast.LogicalNode logicalNode, Class<?> rootType)
Create aPredicate
based on a logicalNode
and root repository domain type.javax.persistence.criteria.Predicate
createCriteria(cz.jirutka.rsql.parser.ast.Node node, Class<?> rootType)
Create aPredicate
based on a genericNode
and root repository domain type.javax.persistence.criteria.Predicate
createCriteria(String selector, cz.jirutka.rsql.parser.ast.ComparisonOperator operator, List<String> arguments, Class<?> rootType)
Create aPredicate
based on a set of comparison parameters and a root repository domain type.protected javax.persistence.criteria.Predicate
handleBetween(String selector, List<Object> parsed, javax.persistence.criteria.AbstractQuery<?> criteriaQuery, javax.persistence.criteria.CriteriaBuilder builder, Map<String,Object> narrowingParams)
protected javax.persistence.criteria.Predicate
handleEqual(String selector, Object arg, boolean isString, boolean isRegex, javax.persistence.criteria.AbstractQuery<?> criteriaQuery, javax.persistence.criteria.CriteriaBuilder builder, Map<String,Object> narrowingParams)
protected javax.persistence.criteria.Predicate
handleEqualIgnoreCase(String selector, Object arg, boolean isRegex, javax.persistence.criteria.AbstractQuery<?> criteriaQuery, javax.persistence.criteria.CriteriaBuilder builder, Map<String,Object> narrowingParams)
protected javax.persistence.criteria.Predicate
handleGreaterThan(String selector, Object arg, javax.persistence.criteria.AbstractQuery<?> criteriaQuery, javax.persistence.criteria.CriteriaBuilder builder, Map<String,Object> narrowingParams)
protected javax.persistence.criteria.Predicate
handleGreaterThanOrEqual(String selector, Object arg, javax.persistence.criteria.AbstractQuery<?> criteriaQuery, javax.persistence.criteria.CriteriaBuilder builder, Map<String,Object> narrowingParams)
protected javax.persistence.criteria.Predicate
handleIn(String selector, Collection<?> arg, javax.persistence.criteria.AbstractQuery<?> criteriaQuery, javax.persistence.criteria.CriteriaBuilder builder, Map<String,Object> narrowingParams)
protected javax.persistence.criteria.Predicate
handleLessThan(String selector, Object arg, javax.persistence.criteria.AbstractQuery<?> criteriaQuery, javax.persistence.criteria.CriteriaBuilder builder, Map<String,Object> narrowingParams)
protected javax.persistence.criteria.Predicate
handleLessThanOrEqual(String selector, Object arg, javax.persistence.criteria.AbstractQuery<?> criteriaQuery, javax.persistence.criteria.CriteriaBuilder builder, Map<String,Object> narrowingParams)
protected javax.persistence.criteria.Predicate
handleNotEqual(String selector, Object arg, boolean isString, boolean isRegex, javax.persistence.criteria.AbstractQuery<?> criteriaQuery, javax.persistence.criteria.CriteriaBuilder builder, Map<String,Object> narrowingParams)
protected javax.persistence.criteria.Predicate
handleNotEqualIgnoreCase(String selector, Object arg, boolean isRegex, javax.persistence.criteria.AbstractQuery<?> criteriaQuery, javax.persistence.criteria.CriteriaBuilder builder, Map<String,Object> narrowingParams)
protected javax.persistence.criteria.Predicate
handleNotIn(String selector, Collection<?> arg, javax.persistence.criteria.AbstractQuery<?> criteriaQuery, javax.persistence.criteria.CriteriaBuilder builder, Map<String,Object> narrowingParams)
protected javax.persistence.criteria.Predicate
handleNull(String selector, Object arg, javax.persistence.criteria.AbstractQuery<?> criteriaQuery, javax.persistence.criteria.CriteriaBuilder builder)
-
-
-
Constructor Detail
-
DefaultJpaRSQLCriteriaBuilder
public DefaultJpaRSQLCriteriaBuilder(JpaRSQLArgumentParser argumentParser)
-
-
Method Detail
-
createCriteria
public javax.persistence.criteria.Predicate createCriteria(cz.jirutka.rsql.parser.ast.Node node, Class<?> rootType)
Description copied from interface:JpaRSQLCriteriaBuilder
Create aPredicate
based on a genericNode
and root repository domain type.- Specified by:
createCriteria
in interfaceJpaRSQLCriteriaBuilder
- Parameters:
node
- A generic node structure in a structured RSQL queryrootType
- The root repository domain type- Returns:
- The query criteria
-
createCriteria
public javax.persistence.criteria.Predicate createCriteria(cz.jirutka.rsql.parser.ast.LogicalNode logicalNode, Class<?> rootType)
Description copied from interface:JpaRSQLCriteriaBuilder
Create aPredicate
based on a logicalNode
and root repository domain type. Logical nodes are 'and'/'or' combinations of comparison nodes.- Specified by:
createCriteria
in interfaceJpaRSQLCriteriaBuilder
- Parameters:
logicalNode
- A logical node structure in a structured RSQL queryrootType
- the root repository domain type- Returns:
- The query criteria
-
createCriteria
public javax.persistence.criteria.Predicate createCriteria(cz.jirutka.rsql.parser.ast.ComparisonNode comparisonNode, Class<?> rootType)
Description copied from interface:JpaRSQLCriteriaBuilder
Create aPredicate
based on a comparisonNode
and root repository domain type. Comparison nodes filter values on a specific field.- Specified by:
createCriteria
in interfaceJpaRSQLCriteriaBuilder
- Parameters:
comparisonNode
- A comparison node structure in a structured RSQL queryrootType
- the root repository domain type- Returns:
- The query criteria
-
createCriteria
public javax.persistence.criteria.Predicate createCriteria(String selector, cz.jirutka.rsql.parser.ast.ComparisonOperator operator, List<String> arguments, Class<?> rootType)
Description copied from interface:JpaRSQLCriteriaBuilder
Create aPredicate
based on a set of comparison parameters and a root repository domain type.- Specified by:
createCriteria
in interfaceJpaRSQLCriteriaBuilder
- Parameters:
selector
- The fieldoperator
- The type of comparison (=,!=,lt,etc...)arguments
- One or more values to check against the fieldrootType
- the root repository domain type- Returns:
- The query criteria
-
handleNull
protected javax.persistence.criteria.Predicate handleNull(String selector, Object arg, javax.persistence.criteria.AbstractQuery<?> criteriaQuery, javax.persistence.criteria.CriteriaBuilder builder)
-
handleBetween
protected javax.persistence.criteria.Predicate handleBetween(String selector, List<Object> parsed, javax.persistence.criteria.AbstractQuery<?> criteriaQuery, javax.persistence.criteria.CriteriaBuilder builder, Map<String,Object> narrowingParams)
-
handleLessThanOrEqual
protected javax.persistence.criteria.Predicate handleLessThanOrEqual(String selector, Object arg, javax.persistence.criteria.AbstractQuery<?> criteriaQuery, javax.persistence.criteria.CriteriaBuilder builder, Map<String,Object> narrowingParams)
-
handleLessThan
protected javax.persistence.criteria.Predicate handleLessThan(String selector, Object arg, javax.persistence.criteria.AbstractQuery<?> criteriaQuery, javax.persistence.criteria.CriteriaBuilder builder, Map<String,Object> narrowingParams)
-
handleGreaterThanOrEqual
protected javax.persistence.criteria.Predicate handleGreaterThanOrEqual(String selector, Object arg, javax.persistence.criteria.AbstractQuery<?> criteriaQuery, javax.persistence.criteria.CriteriaBuilder builder, Map<String,Object> narrowingParams)
-
handleGreaterThan
protected javax.persistence.criteria.Predicate handleGreaterThan(String selector, Object arg, javax.persistence.criteria.AbstractQuery<?> criteriaQuery, javax.persistence.criteria.CriteriaBuilder builder, Map<String,Object> narrowingParams)
-
handleNotEqual
protected javax.persistence.criteria.Predicate handleNotEqual(String selector, Object arg, boolean isString, boolean isRegex, javax.persistence.criteria.AbstractQuery<?> criteriaQuery, javax.persistence.criteria.CriteriaBuilder builder, Map<String,Object> narrowingParams)
-
handleEqual
protected javax.persistence.criteria.Predicate handleEqual(String selector, Object arg, boolean isString, boolean isRegex, javax.persistence.criteria.AbstractQuery<?> criteriaQuery, javax.persistence.criteria.CriteriaBuilder builder, Map<String,Object> narrowingParams)
-
handleEqualIgnoreCase
protected javax.persistence.criteria.Predicate handleEqualIgnoreCase(String selector, Object arg, boolean isRegex, javax.persistence.criteria.AbstractQuery<?> criteriaQuery, javax.persistence.criteria.CriteriaBuilder builder, Map<String,Object> narrowingParams)
-
handleNotEqualIgnoreCase
protected javax.persistence.criteria.Predicate handleNotEqualIgnoreCase(String selector, Object arg, boolean isRegex, javax.persistence.criteria.AbstractQuery<?> criteriaQuery, javax.persistence.criteria.CriteriaBuilder builder, Map<String,Object> narrowingParams)
-
handleIn
protected javax.persistence.criteria.Predicate handleIn(String selector, Collection<?> arg, javax.persistence.criteria.AbstractQuery<?> criteriaQuery, javax.persistence.criteria.CriteriaBuilder builder, Map<String,Object> narrowingParams)
-
handleNotIn
protected javax.persistence.criteria.Predicate handleNotIn(String selector, Collection<?> arg, javax.persistence.criteria.AbstractQuery<?> criteriaQuery, javax.persistence.criteria.CriteriaBuilder builder, Map<String,Object> narrowingParams)
-
-