Package net.shibboleth.idp.saml.saml2.profile.config.impl

# Class AbstractSAML2ArtifactAwareProfileConfiguration

java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
net.shibboleth.shared.component.AbstractIdentifiedInitializableComponent
net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent
net.shibboleth.profile.config.AbstractProfileConfiguration
net.shibboleth.profile.config.AbstractConditionalProfileConfiguration
net.shibboleth.idp.profile.config.AbstractInterceptorAwareProfileConfiguration
net.shibboleth.idp.saml.profile.config.impl.AbstractSAMLProfileConfiguration
net.shibboleth.idp.saml.saml2.profile.config.impl.AbstractSAML2ProfileConfiguration
net.shibboleth.idp.saml.saml2.profile.config.impl.AbstractSAML2ArtifactAwareProfileConfiguration

All Implemented Interfaces:
  `InterceptorAwareProfileConfiguration`, `SAMLProfileConfiguration`, `ConditionalProfileConfiguration`, `ProfileConfiguration`, `SAMLArtifactAwareProfileConfiguration`, `SAMLArtifactConsumerProfileConfiguration`, `SAMLProfileConfiguration`, `SAML2ProfileConfiguration`, `Component`, `DestructableComponent`, `IdentifiableComponent`, `IdentifiedComponent`, `InitializableComponent`

Direct Known Subclasses:
  `AbstractSAML2AssertionProducingProfileConfiguration`, `SingleLogoutProfileConfiguration`

public abstract class AbstractSAML2ArtifactAwareProfileConfiguration extends AbstractSAML2ProfileConfiguration implements SAMLArtifactAwareProfileConfiguration, SAMLArtifactConsumerProfileConfiguration
Configuration support for artifact-aware profiles.

Since:
  3.4.0

## Field Summary

Fields
Modifier and Type
Field
Description
`private Function<ProfileRequestContext,SAMLArtifactConfiguration>`
`artifactConfigurationLookupStrategy`
Lookup function to supply artifactConfiguration property.
`private Predicate<MessageContext>`
`clientTLSArtifactRequestsPredicate`
Predicate used to determine if artifact resolution requests should use client TLS.
`private Predicate<MessageContext>`
`signArtifactRequestsPredicate`
Predicate used to determine if artifact resolution requests should be signed.

### Fields inherited from interface net.shibboleth.profile.config.ProfileConfiguration

`DEFAULT_DISALLOWED_FEATURES`

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`AbstractSAML2ArtifactAwareProfileConfiguration(String profileId)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`SAMLArtifactConfiguration`
`getArtifactConfiguration(ProfileRequestContext profileRequestContext)`
`boolean`
`isClientTLSArtifactRequests(MessageContext messageContext)`
`boolean`
`isSignArtifactRequests(MessageContext messageContext)`
`void`
`setArtifactConfiguration(SAMLArtifactConfiguration config)`
Set the SAML artifact configuration, if any.
`void`
`setArtifactConfigurationLookupStrategy(Function<ProfileRequestContext,SAMLArtifactConfiguration> strategy)`
Set a lookup strategy for the SAML artifact configuration.
`void`
`setClientTLSArtifactRequests(boolean flag)`
Set whether artifact resolution requests should use client TLS.
`void`
`setClientTLSArtifactRequestsPredicate(Predicate<MessageContext> predicate)`
Set the predicate used to determine if artifact resolution requests should use client TLS.
`void`
`setSignArtifactRequests(boolean flag)`
Set whether artifact resolution requests should be signed.
`void`
`setSignArtifactRequestsPredicate(Predicate<MessageContext> predicate)`
Set the predicate used to determine if artifact resolution requests should be signed.

### Methods inherited from class net.shibboleth.idp.saml.saml2.profile.config.impl.AbstractSAML2ProfileConfiguration

`isEncryptionOptional, isEncryptNameIDs, isIgnoreRequestSignatures, setEncryptionOptional, setEncryptionOptionalPredicate, setEncryptNameIDs, setEncryptNameIDsPredicate, setIgnoreRequestSignatures, setIgnoreRequestSignaturesPredicate`

### Methods inherited from class net.shibboleth.idp.saml.profile.config.impl.AbstractSAMLProfileConfiguration

`getMessageHandler, isSignRequests, isSignResponses, setMessageDecorator, setMessageHandler, setMessageHandlerLookupStrategy, setSignRequests, setSignRequestsPredicate, setSignResponses, setSignResponsesPredicate`

### Methods inherited from class net.shibboleth.idp.profile.config.AbstractInterceptorAwareProfileConfiguration

`getInboundInterceptorFlows, getOutboundInterceptorFlows, setInboundInterceptorFlows, setInboundInterceptorFlowsLookupStrategy, setOutboundInterceptorFlows, setOutboundInterceptorFlowsLookupStrategy`

### Methods inherited from class net.shibboleth.profile.config.AbstractConditionalProfileConfiguration

`getActivationCondition, setActivationCondition`

### Methods inherited from class net.shibboleth.profile.config.AbstractProfileConfiguration

`equals, getDisallowedFeatures, getSecurityConfiguration, hashCode, isFeatureDisallowed, setDisallowedFeatures, setDisallowedFeaturesLookupStrategy, setSecurityConfiguration, setSecurityConfigurationLookupStrategy`

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

`setId`

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

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

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

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

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

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

### Methods inherited from interface net.shibboleth.shared.component.IdentifiedComponent

`getId`

### Methods inherited from interface net.shibboleth.idp.profile.config.InterceptorAwareProfileConfiguration

`getInboundInterceptorFlows, getOutboundInterceptorFlows`

### Methods inherited from interface net.shibboleth.profile.config.ProfileConfiguration

`getDisallowedFeatures, getSecurityConfiguration, isFeatureDisallowed`

### Methods inherited from interface net.shibboleth.saml.profile.config.SAMLProfileConfiguration

`getMessageHandler, isSignRequests, isSignResponses`

## Field Details

### artifactConfigurationLookupStrategy

@Nonnull private Function<ProfileRequestContext,SAMLArtifactConfiguration> artifactConfigurationLookupStrategy
Lookup function to supply artifactConfiguration property.

### signArtifactRequestsPredicate

@Nonnull private Predicate<MessageContext> signArtifactRequestsPredicate
Predicate used to determine if artifact resolution requests should be signed.

### clientTLSArtifactRequestsPredicate

@Nonnull private Predicate<MessageContext> clientTLSArtifactRequestsPredicate
Predicate used to determine if artifact resolution requests should use client TLS.

## Constructor Details

### AbstractSAML2ArtifactAwareProfileConfiguration

protected AbstractSAML2ArtifactAwareProfileConfiguration(@Nonnull @NotEmpty String profileId)
Constructor.

Parameters:
  `profileId` - unique ID for this profile

## Method Details

### getArtifactConfiguration

@Nullable public SAMLArtifactConfiguration getArtifactConfiguration(@Nullable ProfileRequestContext profileRequestContext)

Specified by:
  `getArtifactConfiguration` in interface `SAMLArtifactAwareProfileConfiguration`

### setArtifactConfiguration

public void setArtifactConfiguration(@Nullable SAMLArtifactConfiguration config)
Set the SAML artifact configuration, if any.

Parameters:
  `config` - configuration to set

### setArtifactConfigurationLookupStrategy

public void setArtifactConfigurationLookupStrategy(@Nonnull Function<ProfileRequestContext,SAMLArtifactConfiguration> strategy)
Set a lookup strategy for the SAML artifact configuration.

Parameters:
  `strategy` - lookup strategy
Since:
  3.3.0

### isSignArtifactRequests

public boolean isSignArtifactRequests(@Nullable MessageContext messageContext)

Specified by:
  `isSignArtifactRequests` in interface `SAMLArtifactConsumerProfileConfiguration`

### setSignArtifactRequests

public void setSignArtifactRequests(boolean flag)
Set whether artifact resolution requests should be signed.

Parameters:
  `flag` - flag to set

### setSignArtifactRequestsPredicate

public void setSignArtifactRequestsPredicate(@Nonnull Predicate<MessageContext> predicate)
Set the predicate used to determine if artifact resolution requests should be signed.

Parameters:
  `predicate` - the predicate
Since:
  4.0.0

### isClientTLSArtifactRequests

public boolean isClientTLSArtifactRequests(@Nullable MessageContext messageContext)

Specified by:
  `isClientTLSArtifactRequests` in interface `SAMLArtifactConsumerProfileConfiguration`

### setClientTLSArtifactRequests

public void setClientTLSArtifactRequests(boolean flag)
Set whether artifact resolution requests should use client TLS.

Parameters:
  `flag` - flag to set

### setClientTLSArtifactRequestsPredicate

public void setClientTLSArtifactRequestsPredicate(@Nonnull Predicate<MessageContext> predicate)
Set the predicate used to determine if artifact resolution requests should use client TLS.

Parameters:
  `predicate` - the predicate
Since:
  4.0.0