Class ChainingEncryptedKeyResolver
java.lang.Object
org.opensaml.xmlsec.encryption.support.AbstractEncryptedKeyResolver
org.opensaml.xmlsec.encryption.support.ChainingEncryptedKeyResolver
- All Implemented Interfaces:
EncryptedKeyResolver
public class ChainingEncryptedKeyResolver extends AbstractEncryptedKeyResolver
An implementation of
EncryptedKeyResolver
which chains multiple other resolver implementations together,
calling them in the order specified in the resolver list.-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
ChainingEncryptedKeyResolver.ChainingIterable
Implementation ofIterable
to be returned byChainingEncryptedKeyResolver
.class
ChainingEncryptedKeyResolver.ChainingIterator
Implementation ofIterator
to be (indirectly) returned byChainingEncryptedKeyResolver
. -
Field Summary
Fields Modifier and Type Field Description private org.slf4j.Logger
log
Class logger.private List<EncryptedKeyResolver>
resolvers
The list of resolvers which form the resolution chain. -
Constructor Summary
Constructors Constructor Description ChainingEncryptedKeyResolver(List<EncryptedKeyResolver> encKeyResolvers)
Constructor.ChainingEncryptedKeyResolver(List<EncryptedKeyResolver> encKeyResolvers, String recipient)
Constructor.ChainingEncryptedKeyResolver(List<EncryptedKeyResolver> encKeyResolvers, Set<String> recipients)
Constructor. -
Method Summary
Modifier and Type Method Description List<EncryptedKeyResolver>
getResolverChain()
Get the unmodifiable list of resolvers which form the resolution chain.Iterable<EncryptedKey>
resolve(EncryptedData encryptedData)
Resolve the EncryptedKey elements containing the data encryption key used to encrypt the specified EncryptedData element.Methods inherited from class org.opensaml.xmlsec.encryption.support.AbstractEncryptedKeyResolver
getRecipients, matchCarriedKeyName, matchDataReference, matchRecipient
-
Field Details
-
resolvers
The list of resolvers which form the resolution chain. -
log
@Nonnull private final org.slf4j.Logger logClass logger.
-
-
Constructor Details
-
ChainingEncryptedKeyResolver
public ChainingEncryptedKeyResolver(@Nonnull @NonnullElements @ParameterName(name="encKeyResolvers") List<EncryptedKeyResolver> encKeyResolvers)Constructor.- Parameters:
encKeyResolvers
- the chain of encrypted key resolvers
-
ChainingEncryptedKeyResolver
public ChainingEncryptedKeyResolver(@Nonnull @NonnullElements @ParameterName(name="encKeyResolvers") List<EncryptedKeyResolver> encKeyResolvers, @Nullable @ParameterName(name="recipients") Set<String> recipients)Constructor.- Parameters:
encKeyResolvers
- the chain of encrypted key resolversrecipients
- the set of recipients
-
ChainingEncryptedKeyResolver
public ChainingEncryptedKeyResolver(@Nonnull @NonnullElements @ParameterName(name="encKeyResolvers") List<EncryptedKeyResolver> encKeyResolvers, @Nullable @ParameterName(name="recipient") String recipient)Constructor.- Parameters:
encKeyResolvers
- the chain of encrypted key resolversrecipient
- the recipient
-
-
Method Details
-
getResolverChain
@Nonnull @NonnullElements @Unmodifiable @NotLive public List<EncryptedKeyResolver> getResolverChain()Get the unmodifiable list of resolvers which form the resolution chain.- Returns:
- a list of EncryptedKeyResolver instances
-
resolve
Resolve the EncryptedKey elements containing the data encryption key used to encrypt the specified EncryptedData element.- Parameters:
encryptedData
- the EncryptedData element context in which to resolve- Returns:
- an iterable of EncryptedKey elements
-