Package org.opensaml.saml.common.binding.impl

# Class DefaultEndpointResolver<EndpointType extends Endpoint>

java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
net.shibboleth.shared.component.AbstractIdentifiedInitializableComponent
org.opensaml.saml.common.binding.AbstractEndpointResolver<EndpointType>
org.opensaml.saml.common.binding.impl.DefaultEndpointResolver<EndpointType>

Type Parameters:
  `EndpointType` - type of endpoint

All Implemented Interfaces:
  `Component`, `DestructableComponent`, `IdentifiedComponent`, `InitializableComponent`, `Resolver<EndpointType,CriteriaSet>`, `EndpointResolver<EndpointType>`

public class DefaultEndpointResolver<EndpointType extends Endpoint> extends AbstractEndpointResolver<EndpointType>
Default implementation that performs additional endpoint validation.

The supported `Criterion` types and their use follows:

`EndpointCriterion`
  Requires that the candidate endpoint's various attributes match the attributes found in the criterion.
`BindingCriterion`
  Requires that the candidate endpoint's Binding attribute is among the bindings included in the criterion.

## Field Summary

Fields
Modifier and Type
Field
Description
`private org.slf4j.Logger`
`log`
Class logger.

## Constructor Summary

Constructors
Constructor
Description
`DefaultEndpointResolver()`

## Method Summary

Modifier and Type
Method
Description
`private boolean`
`checkBindingCriterion(BindingCriterion bindings, EndpointType endpoint)`
Verify the candidate's Binding attribute, if set, is among the set in the supplied criterion.
`private boolean`
`checkEndpointCriterion(EndpointCriterion<EndpointType> comparison, EndpointType endpoint)`
Verify the candidate's attributes match any attributes supplied in the criterion.
`protected boolean`
`doCheckEndpoint(CriteriaSet criteria, EndpointType endpoint)`
Apply the supplied criteria to a candidate endpoint to determine its suitability.

### Methods inherited from class org.opensaml.saml.common.binding.AbstractEndpointResolver

`getLogPrefix, isInMetadataOrder, resolve, resolveSingle, setInMetadataOrder`

### Methods inherited from class net.shibboleth.shared.component.AbstractIdentifiedInitializableComponent

`doInitialize, ensureId, getId, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException, setId`

### Methods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent

`checkComponentActive, checkSetterPreconditions, destroy, doDestroy, initialize, isDestroyed, isInitialized`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### log

@Nonnull private org.slf4j.Logger log
Class logger.

## Constructor Details

### DefaultEndpointResolver

public DefaultEndpointResolver()

## Method Details

### doCheckEndpoint

protected boolean doCheckEndpoint(@Nonnull CriteriaSet criteria, @Nonnull EndpointType endpoint)
Apply the supplied criteria to a candidate endpoint to determine its suitability.

Overrides:
  `doCheckEndpoint` in class `AbstractEndpointResolver<EndpointType extends Endpoint>`
Parameters:
  `criteria` - input criteria set
  `endpoint` - candidate endpoint
Returns:
  true iff the endpoint meets the supplied criteria

### checkBindingCriterion

private boolean checkBindingCriterion(@Nonnull BindingCriterion bindings, @Nonnull EndpointType endpoint)
Verify the candidate's Binding attribute, if set, is among the set in the supplied criterion.

Parameters:
  `bindings` - the bindings to allow
  `endpoint` - the candidate endpoint
Returns:
  true iff the candidate has no Binding, or its Binding is permitted

### checkEndpointCriterion

private boolean checkEndpointCriterion(@Nonnull EndpointCriterion<EndpointType> comparison, @Nonnull EndpointType endpoint)
Verify the candidate's attributes match any attributes supplied in the criterion.

Parameters:
  `comparison` - the endpoint to compare against
  `endpoint` - the candidate endpoint
Returns:
  true iff the candidate's attributes match those of the criterion