Interface FilterProcessor<O extends ObjectFilter>
- All Known Implementing Classes:
ArrayPathItemFilterProcessor
,AuditCustomColumnItemFilterProcessor
,AuditPropertiesItemFilterProcessor
,CanonicalItemPathItemFilterProcessor
,DetailTableItemFilterProcessor
,EnumItemFilterProcessor
,EnumOrdinalItemFilterProcessor
,ExistsFilterProcessor
,ExtensionItemFilterProcessor
,FullTextFilterProcessor
,InOidFilterProcessor
,ItemValueFilterProcessor
,JsonbPolysPathItemFilterProcessor
,NaryLogicalFilterProcessor
,NotFilterProcessor
,OrgFilterProcessor
,OwnedByFilterProcessor
,PolyStringItemFilterProcessor
,ReferencedByFilterProcessor
,RefItemFilterProcessor
,RefTableItemFilterProcessor
,SimpleItemFilterProcessor
,SinglePathItemFilterProcessor
,SqaleQueryContext
,SqlQueryContext
,TimestampItemFilterProcessor
,TypeFilterProcessor
,TypeQNameItemFilterProcessor
,UriItemFilterProcessor
,UuidItemFilterProcessor
,ValueFilterProcessor
public interface FilterProcessor<O extends ObjectFilter>
Filter processor is very abstract thing that takes the filter and returns the SQL predicate.
What happens with it depends on the context implementing the processor.
There are two typical usages:
* Processors in the context of a query (or subquery).
These typically determine what other processor should be used in the next step.
The logic starts in
SqlQueryContext.process(ObjectFilter)
and determines
whether to resolve logical operations or delegate to other specialized filter.
*Complex path resolution* (which may add JOINs) belongs here, see ValueFilterProcessor
.
* ItemValueFilterProcessor
s for a single Prism item (not necessarily one SQL column).
These *process only single/final path component and use the value of the filter*.
While JOINs are typically only used here it is possible that multi-value attributes stored
in detail tables can generate another JOIN in this step too.-
Method Summary
Modifier and TypeMethodDescriptioncom.querydsl.core.types.Predicate
default com.querydsl.core.types.Predicate
process
(O filter, RightHandProcessor rightPath)
-
Method Details
-
process
- Throws:
RepositoryException
-
process
default com.querydsl.core.types.Predicate process(O filter, RightHandProcessor rightPath) throws RepositoryException - Throws:
RepositoryException
-