Package org.opensaml.security.credential.impl

# Class AbstractChainingCredentialResolver<ResolverType extends CredentialResolver>

java.lang.Object
org.opensaml.security.credential.impl.AbstractCredentialResolver
org.opensaml.security.credential.impl.AbstractChainingCredentialResolver<ResolverType>

Type Parameters:
  `ResolverType` - the subtype of CredentialResolver to be chained

All Implemented Interfaces:
  `Resolver<Credential,CriteriaSet>`, `CredentialResolver`

Direct Known Subclasses:
  `ChainingCredentialResolver`, `ChainingKeyInfoCredentialResolver`

public abstract class AbstractChainingCredentialResolver<ResolverType extends CredentialResolver> extends AbstractCredentialResolver
An abstract implementation of `CredentialResolver` which chains together one or more underlying credential resolver implementations. Resolved credentials are returned from all underlying resolvers in the chain, in the order implied by the order of the resolvers in the chain.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`class`
`AbstractChainingCredentialResolver.CredentialIterable`
Implementation of `Iterable` to be returned by `ChainingCredentialResolver`.
`class`
`AbstractChainingCredentialResolver.CredentialIterator`
Implementation of `Iterator` to be returned (indirectly) by `ChainingCredentialResolver`.

## Field Summary

Fields
Modifier and Type
Field
Description
`private final org.slf4j.Logger`
`log`
Logger.
`private List<ResolverType>`
`resolvers`
List of credential resolvers in the chain.

## Constructor Summary

Constructors
Constructor
Description
`AbstractChainingCredentialResolver(List<ResolverType> credResolvers)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`List<ResolverType>`
`getResolverChain()`
Get the unmodifiable list of credential resolvers which comprise the resolver chain.
`Iterable<Credential>`
`resolve(CriteriaSet criteriaSet)`

### Methods inherited from class org.opensaml.security.credential.impl.AbstractCredentialResolver

`resolveSingle`

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

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

## Field Details

### log

@Nonnull private final org.slf4j.Logger log
Logger.

### resolvers

@Nonnull private List<ResolverType extends CredentialResolver> resolvers
List of credential resolvers in the chain.

## Constructor Details

### AbstractChainingCredentialResolver

public AbstractChainingCredentialResolver(@Nonnull List<ResolverType> credResolvers)
Constructor.

Parameters:
  `credResolvers` - the list of chained credential resolvers

## Method Details

### getResolverChain

@Nonnull @Unmodifiable @NotLive public List<ResolverType> getResolverChain()
Get the unmodifiable list of credential resolvers which comprise the resolver chain.

Returns:
  the list of credential resolvers in the chain

### resolve

@Nonnull public Iterable<Credential> resolve(@Nullable CriteriaSet criteriaSet) throws ResolverException

Specified by:
  `resolve` in interface `Resolver<Credential,CriteriaSet>`
Specified by:
  `resolve` in class `AbstractCredentialResolver`
Throws:
  `ResolverException`