Package org.opensaml.xmlsec.impl

# Class AbstractSecurityParametersResolver<ProductType>

java.lang.Object
org.opensaml.xmlsec.impl.AbstractSecurityParametersResolver<ProductType>

Type Parameters:
  `ProductType` - the type of output produced by the resolver

All Implemented Interfaces:
  `Resolver<ProductType,CriteriaSet>`

Direct Known Subclasses:
  `BasicDecryptionParametersResolver`, `BasicEncryptionParametersResolver`, `BasicSignatureSigningParametersResolver`, `BasicSignatureValidationParametersResolver`

public abstract class AbstractSecurityParametersResolver<ProductType> extends Object implements Resolver<ProductType,CriteriaSet>
Abstract base class for security parameters resolvers which supplies commonly used functionality for reuse.

## Field Summary

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

## Constructor Summary

Constructors
Constructor
Description
`AbstractSecurityParametersResolver()`

## Method Summary

Modifier and Type
Method
Description
`protected KeyInfoGenerator`
`lookupKeyInfoGenerator(Credential credential, NamedKeyInfoGeneratorManager manager, String keyInfoProfileName)`
Resolve a `KeyInfoGenerator` instance based on a `NamedKeyInfoGeneratorManager`, `Credential` and optional KeyInfo generation profile name.
`protected void`
`resolveAndPopulateIncludesExcludes(AlgorithmPolicyParameters params, CriteriaSet criteria, List<? extends AlgorithmPolicyConfiguration> configs)`
Resolve and populate the effective includes or excludes on the supplied instance of `AlgorithmPolicyParameters`.
`protected Collection<String>`
`resolveEffectiveExcludes(CriteriaSet criteria, List<? extends AlgorithmPolicyConfiguration> configs)`
Resolve and return the effective algorithm excludes based on supplied configuration.
`protected Collection<String>`
`resolveEffectiveIncludes(CriteriaSet criteria, List<? extends AlgorithmPolicyConfiguration> configs)`
Resolve and return the effective algorithm includes based on supplied configuration.
`protected AlgorithmPolicyConfiguration.Precedence`
`resolveIncludeExcludePrecedence(CriteriaSet criteria, List<? extends AlgorithmPolicyConfiguration> configs)`
Resolve and return the effective algorithm include/exclude precedence based on supplied configuration.
`protected Predicate<String>`
`resolveIncludeExcludePredicate(CriteriaSet criteria, List<? extends AlgorithmPolicyConfiguration> configs)`
Get a predicate which operates according to the effective configured include and exclude policy.

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

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

### Methods inherited from interface net.shibboleth.shared.resolver.Resolver

`resolve, resolveSingle`

## Field Details

### log

@Nonnull private org.slf4j.Logger log
Logger.

## Constructor Details

### AbstractSecurityParametersResolver

public AbstractSecurityParametersResolver()

## Method Details

### lookupKeyInfoGenerator

@Nullable protected KeyInfoGenerator lookupKeyInfoGenerator(@Nonnull Credential credential, @Nullable NamedKeyInfoGeneratorManager manager, @Nullable String keyInfoProfileName)
Resolve a `KeyInfoGenerator` instance based on a `NamedKeyInfoGeneratorManager`, `Credential` and optional KeyInfo generation profile name.

Parameters:
  `credential` - the credential for which a KeyInfo generator is needed
  `manager` - the named KeyInfo generator manager instance
  `keyInfoProfileName` - KeyInfo generation profile name
Returns:
  the resolved KeyInfo generator instance, or null

### resolveAndPopulateIncludesExcludes

protected void resolveAndPopulateIncludesExcludes(@Nonnull AlgorithmPolicyParameters params, @Nonnull CriteriaSet criteria, @Nonnull @NotEmpty List<? extends AlgorithmPolicyConfiguration> configs)
Resolve and populate the effective includes or excludes on the supplied instance of `AlgorithmPolicyParameters`.

Parameters:
  `params` - the include/exclude parameters instance to populate
  `criteria` - the input criteria being evaluated
  `configs` - the effective list of `AlgorithmPolicyConfiguration` instances to consider

### resolveIncludeExcludePredicate

@Nonnull protected Predicate<String> resolveIncludeExcludePredicate(@Nonnull CriteriaSet criteria, @Nonnull @NotEmpty List<? extends AlgorithmPolicyConfiguration> configs)
Get a predicate which operates according to the effective configured include and exclude policy.

Parameters:
  `criteria` - the input criteria being evaluated
  `configs` - the effective list of `AlgorithmPolicyConfiguration` instances to consider
Returns:
  a predicate instance which operates accordingly to the effective include and exclude policy

### resolveEffectiveExcludes

@Nonnull protected Collection<String> resolveEffectiveExcludes(@Nonnull CriteriaSet criteria, @Nonnull @NotEmpty List<? extends AlgorithmPolicyConfiguration> configs)
Resolve and return the effective algorithm excludes based on supplied configuration.

Parameters:
  `criteria` - the input criteria being evaluated
  `configs` - the effective list of `AlgorithmPolicyConfiguration` instances to consider
Returns:
  the effective algorithm excludes

### resolveEffectiveIncludes

@Nonnull protected Collection<String> resolveEffectiveIncludes(@Nonnull CriteriaSet criteria, @Nonnull @NotEmpty List<? extends AlgorithmPolicyConfiguration> configs)
Resolve and return the effective algorithm includes based on supplied configuration.

Parameters:
  `criteria` - the input criteria being evaluated
  `configs` - the effective list of `AlgorithmPolicyConfiguration` instances to consider
Returns:
  the effective algorithm includes

### resolveIncludeExcludePrecedence

@Nonnull protected AlgorithmPolicyConfiguration.Precedence resolveIncludeExcludePrecedence(@Nonnull CriteriaSet criteria, @Nonnull @NotEmpty List<? extends AlgorithmPolicyConfiguration> configs)
Resolve and return the effective algorithm include/exclude precedence based on supplied configuration.

Parameters:
  `criteria` - the input criteria being evaluated
  `configs` - the effective list of `AlgorithmPolicyConfiguration` instances to consider
Returns:
  the effective algorithm include/exclude precedence