Class ResolverSupport
java.lang.Object
net.shibboleth.utilities.java.support.resolver.ResolverSupport
public final class ResolverSupport extends Object
Support class for resolver implementations.
-
Constructor Summary
Constructors Modifier Constructor Description private
ResolverSupport()
Constructor. -
Method Summary
Modifier and Type Method Description static <T> Iterable<T>
getFilteredIterable(Iterable<T> candidates, Set<Predicate<T>> predicates, boolean satisfyAny, boolean onEmptyPredicatesReturnEmpty)
static <T, E extends Predicate<T>>
Set<Predicate<T>>getPredicates(CriteriaSet criteriaSet, Class<E> predicateCriterionType, CriterionPredicateRegistry<T> registry)
Obtain a set ofPredicate
based on aCriteriaSet
.
-
Constructor Details
-
ResolverSupport
private ResolverSupport()Constructor.
-
-
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 ResolverExceptionObtain a set ofPredicate
based on aCriteriaSet
.- Type Parameters:
T
- the type of target which the returned predicates can evaluateE
- the type of criterion predicates to extract directly from the criteria set- Parameters:
criteriaSet
- the criteria set to evaluatepredicateCriterionType
- the optional type to evaluate and extract directly from the criteria setregistry
- the optional registry of mappings fromCriterion
toPredicate
- Returns:
- a set of predicates, possibly empty
- Throws:
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 filteredIterable
of the specified candidates based on the supplied set ofPredicate
and the satisfyAny flag.- Type Parameters:
T
- the type of target candidates- Parameters:
candidates
- the candidates to filterpredicates
- the predicates with which to filtersatisfyAny
- if true the predicates will be logically OR-ed, otherwise they are logically AND-edonEmptyPredicatesReturnEmpty
- if true and no predicates are supplied, then return an empty iterable; otherwise return the original input candidates- Returns:
- the filtered iteration of the candidates
-