Package net.shibboleth.idp.attribute.filter

# Interface PolicyRequirementRule

All Superinterfaces:
  `Component`, `IdentifiedComponent`

All Known Implementing Classes:
  `AbstractComposedPolicyRule`, `AbstractEntityAttributeExactPolicyRule`, `AbstractEntityAttributePolicyRule`, `AbstractEntityAttributeRegexPolicyRule`, `AbstractEntityGroupPolicyRule`, `AbstractNameIDFormatExactPolicyRule`, `AbstractPolicyRule`, `AbstractProtocolSupportPolicyRule`, `AbstractRegexpPolicyRule`, `AbstractRegistrationAuthorityPolicyRule`, `AbstractStringPolicyRule`, `AndPolicyRule`, `AttributeIssuerPolicyRule`, `AttributeIssuerRegexpPolicyRule`, `AttributeRequesterPolicyRule`, `AttributeRequesterRegexpPolicyRule`, `DirectionPolicyRule`, `IssuerEntityAttributeExactPolicyRule`, `IssuerEntityAttributeRegexPolicyRule`, `IssuerInEntityGroupPolicyRule`, `IssuerNameIDFormatExactPolicyRule`, `IssuerProtocolSupportPolicyRule`, `IssuerRegistrationAuthorityPolicyRule`, `MockPolicyRequirementRule`, `NotPolicyRule`, `NumOfAttributeValuesPolicyRule`, `OrPolicyRule`, `PolicyFromMatcher`, `PolicyFromMatcherId`, `PredicatePolicyRule`, `PrincipalNamePolicyRule`, `PrincipalNameRegexpPolicyRule`, `ProfilePolicyRule`, `ProxiedRequesterEntityAttributeExactPolicyRule`, `ProxiedRequesterEntityAttributeRegexPolicyRule`, `ProxiedRequesterInEntityGroupPolicyRule`, `ProxiedRequesterPolicyRule`, `ProxiedRequesterProtocolSupportPolicyRule`, `ProxiedRequesterRegexpPolicyRule`, `ProxiedRequesterRegistrationAuthorityPolicyRule`, `RequesterEntityAttributeExactPolicyRule`, `RequesterEntityAttributeRegexPolicyRule`, `RequesterInEntityGroupPolicyRule`, `RequesterNameIDFormatExactPolicyRule`, `RequesterProtocolSupportPolicyRule`, `RequesterRegistrationAuthorityPolicyRule`, `ScriptedPolicyRule`

@ThreadSafe public interface PolicyRequirementRule extends IdentifiedComponent
Java definition of PolicyRequirementRule. This is a specific mapping of a MatchFunctor as used in an `AttributeFilterPolicy` All function can return `PolicyRequirementRule.Tristate.TRUE` or `PolicyRequirementRule.Tristate.FALSE` (as expected), but if something odd happens during enumeration (like not being able to find something in the context) then they return `PolicyRequirementRule.Tristate.FAIL`.

## Nested Class Summary

Nested Classes
Modifier and Type
Interface
Description
`static enum`
`PolicyRequirementRule.Tristate`
Representation of the three outcomes of a PolicyRequirementRule.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final PolicyRequirementRule`
`MATCHES_ALL`
A `PolicyRequirementRule` that returns true matched.
`static final PolicyRequirementRule`
`MATCHES_NONE`
A `PolicyRequirementRule` that returns false as matched.
`static final PolicyRequirementRule`
`REQUIREMENT_RULE_FAILS`
A `PolicyRequirementRule` that returns failed.

## Method Summary

Modifier and Type
Method
Description
`PolicyRequirementRule.Tristate`
`matches(AttributeFilterContext filterContext)`
Evaluate what this rule means.

### Methods inherited from interface net.shibboleth.shared.component.IdentifiedComponent

`getId`

## Field Details

### MATCHES_ALL

@Nonnull static final PolicyRequirementRule MATCHES_ALL
A `PolicyRequirementRule` that returns true matched.

### MATCHES_NONE

@Nonnull static final PolicyRequirementRule MATCHES_NONE
A `PolicyRequirementRule` that returns false as matched.

### REQUIREMENT_RULE_FAILS

@Nonnull static final PolicyRequirementRule REQUIREMENT_RULE_FAILS
A `PolicyRequirementRule` that returns failed.

## Method Details

### matches

@Nonnull PolicyRequirementRule.Tristate matches(@Nonnull AttributeFilterContext filterContext)
Evaluate what this rule means.

Parameters:
  `filterContext` - the context.
Returns:
  whether the rule holds