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. * ItemValueFilterProcessors 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 Type
    Method
    Description
    com.querydsl.core.types.Predicate
    process(O filter)
     
    default com.querydsl.core.types.Predicate
    process(O filter, RightHandProcessor rightPath)