Class ValueFilterProcessor<Q extends FlexibleRelationalPathBase<R>,​R>

  • All Implemented Interfaces:
    FilterProcessor<ValueFilter<?,​?>>

    public class ValueFilterProcessor<Q extends FlexibleRelationalPathBase<R>,​R>
    extends Object
    implements FilterProcessor<ValueFilter<?,​?>>
    Filter processor that resolves item path and then constructs an SQL condition for it. This covers the needs of ValueFilter subtypes. Despite the class name it does not directly contain code that creates conditions based on values. This is still a structural processor and the name "value filter" merely reflects the type of filter which it processes. If the path has multiple names it creates new instance of this filter processor for each step to preserve contextual information - e.g. when predicate needs to be applied to the current subcontext and EXISTS subquery needs to be propagated higher. For the last path component it delegates to the right ItemValueFilterProcessor to process the values and construct SQL conditions.