Package net.shibboleth.idp.authn.principal

# Interface PrincipalEvalPredicate

All Superinterfaces:
  `Predicate<PrincipalSupportingComponent>`

All Known Implementing Classes:
  `ExactPrincipalEvalPredicateFactory.ExactMatchPredicate`, `InexactPrincipalEvalPredicateFactory.InexactMatchPredicate`

public interface PrincipalEvalPredicate extends Predicate<PrincipalSupportingComponent>
A `Predicate` to evaluate a `Principal` that represents a requested form of authentication against a set of principals supported by a `PrincipalSupportingComponent`.

The predicate contains an additional method that makes available the actual `Principal` object that satisfied the predicate. In concrete terms, this represents the actual authentication method that was performed.

## Method Summary

Modifier and Type
Method
Description
`Principal`
`getMatchingPrincipal()`
Get the `Principal` object from the evaluated `PrincipalSupportingComponent` that actually satisfied the predicate, if any.

### Methods inherited from interface java.util.function.Predicate

`and, negate, or, test`

## Method Details

### getMatchingPrincipal

@Nullable Principal getMatchingPrincipal()
Get the `Principal` object from the evaluated `PrincipalSupportingComponent` that actually satisfied the predicate, if any.

Returns:
  a custom principal, or null