A {@link Filter} that combines several sub filters using a {@link CompositeFilterOperator}. For example, to construct a filter of the form
a = 1 AND (b = 2 OR c = 3)
use:
{@code new CompositeFilter(CompositeFilterOperator.AND, Arrays.asList( new FilterPredicate("a", FilterOperator.EQUAL, 1), new CompositeFilter(CompositeFilterOperator.OR, Arrays.asList( new FilterPredicate("b", FilterOperator.EQUAL, 2), new FilterPredicate("c", FilterOperator.EQUAL, 3)))));}
or
{@code CompositeFilterOperator.and( FilterOperator.EQUAL.of("a", 1), CompositeFilterOperator.or( FilterOperator.EQUAL.of("b", 2), FilterOperator.EQUAL.of("c", 3)));}