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 ofEncryptedKeyResolver
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
All Methods Instance Methods Concrete Methods 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 Detail
-
resolvers
@Nonnull @NonnullElements private final List<EncryptedKeyResolver> resolvers
The list of resolvers which form the resolution chain.
-
log
@Nonnull private final org.slf4j.Logger log
Class logger.
-
-
Constructor Detail
-
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 Detail
-
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
@Nonnull public Iterable<EncryptedKey> resolve(@Nonnull EncryptedData encryptedData)
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
-
-