Package cz.encircled.joiner.core
Interface PredicateAliasResolver
- All Known Implementing Classes:
DefaultPredicateAliasResolver
public interface PredicateAliasResolver
Implementation is responsible for predicate aliases lookup in a query
- Author:
- Vlad on 10-Feb-17.
-
Method Summary
Modifier and TypeMethodDescriptioncom.querydsl.core.types.PredicateresolveOperation(com.querydsl.core.types.Operation<?> operation, List<JoinDescription> joins, Set<com.querydsl.core.types.Path<?>> usedAliases) Resolves all correct paths used in specifiedoperation<T> com.querydsl.core.types.Path<T>resolvePath(com.querydsl.core.types.Path<T> path, Map<AnnotatedElement, List<JoinDescription>> classToJoin, Set<com.querydsl.core.types.Path<?>> usedAliases) If alias frompathis not present inusedAliases, try to find it in joins.com.querydsl.core.types.PredicateresolvePredicate(com.querydsl.core.types.Predicate predicate, List<JoinDescription> joins, Set<com.querydsl.core.types.Path<?>> usedAliases) Resolves all correct paths used in specifiedpredicate
-
Method Details
-
resolvePredicate
com.querydsl.core.types.Predicate resolvePredicate(com.querydsl.core.types.Predicate predicate, List<JoinDescription> joins, Set<com.querydsl.core.types.Path<?>> usedAliases) Resolves all correct paths used in specifiedpredicate- Parameters:
predicate- original predicatejoins- all query joinsusedAliases- paths that are present in joins- Returns:
- rebuilt predicate
- See Also:
-
resolveOperation
com.querydsl.core.types.Predicate resolveOperation(com.querydsl.core.types.Operation<?> operation, List<JoinDescription> joins, Set<com.querydsl.core.types.Path<?>> usedAliases) Resolves all correct paths used in specifiedoperation- Parameters:
operation- original operationjoins- all query joinsusedAliases- paths that are present in joins- Returns:
- rebuilt predicate
- See Also:
-
resolvePath
<T> com.querydsl.core.types.Path<T> resolvePath(com.querydsl.core.types.Path<T> path, Map<AnnotatedElement, List<JoinDescription>> classToJoin, Set<com.querydsl.core.types.Path<?>> usedAliases) If alias frompathis not present inusedAliases, try to find it in joins. If unambiguous alias is found, return rebuilt Path with corresponding alias.It other words, it allows to use
QStatus.status.some...instead ofJ#path(QStatusParent.parent, QStatus.status(when target path is unambiguous, i.e. exactly one join with java type Status is present)- Type Parameters:
T- any- Parameters:
path- original pathclassToJoin- java type to present joinsusedAliases- paths that are present in joins- Returns:
- rebuilt or original path
-