Class ResolverSupport


public final class ResolverSupport
extends Object
Support class for resolver implementations.
  • Constructor Details

    • ResolverSupport

      private ResolverSupport()
  • Method Details

    • getPredicates

      @Nonnull public static <T,​ E extends Predicate<T>> Set<Predicate<T>> getPredicates​(@Nullable CriteriaSet criteriaSet, @Nullable Class<E> predicateCriterionType, @Nullable CriterionPredicateRegistry<T> registry) throws ResolverException
      Obtain a set of Predicate based on a CriteriaSet.
      Type Parameters:
      T - the type of target which the returned predicates can evaluate
      E - the type of criterion predicates to extract directly from the criteria set
      criteriaSet - the criteria set to evaluate
      predicateCriterionType - the optional type to evaluate and extract directly from the criteria set
      registry - the optional registry of mappings from Criterion to Predicate
      a set of predicates, possibly empty
      ResolverException - if there is a fatal error evaluating the criteria set
    • getFilteredIterable

      @Nonnull public static <T> Iterable<T> getFilteredIterable​(@Nullable Iterable<T> candidates, @Nullable Set<Predicate<T>> predicates, boolean satisfyAny, boolean onEmptyPredicatesReturnEmpty)
      Return a filtered Iterable of the specified candidates based on the supplied set of Predicate and the satisfyAny flag.
      Type Parameters:
      T - the type of target candidates
      candidates - the candidates to filter
      predicates - the predicates with which to filter
      satisfyAny - if true the predicates will be logically OR-ed, otherwise they are logically AND-ed
      onEmptyPredicatesReturnEmpty - if true and no predicates are supplied, then return an empty iterable; otherwise return the original input candidates
      the filtered iteration of the candidates