# Uses of Interface
org.opensaml.profile.action.ProfileAction

Packages that use ProfileAction
Package
Description
org.opensaml.profile.action
Interfaces and classes for profile actions, discrete units of behavior that make up a profile.
org.opensaml.profile.action.impl
Implementations of general profile actions.
org.opensaml.saml.common.profile.impl
Actions and classes common to both SAML versions.
org.opensaml.saml.saml1.profile.impl
Implementations of SAML 1.x profile behavior.
org.opensaml.saml.saml2.profile.impl
Implementations of SAML 2.0 profile behavior.
org.opensaml.soap.soap11.profile.impl
Profile actions related to SOAP 1.1.
org.opensaml.storage.impl.client
Implementation of `StorageService` that unifies cookie and HTML Local Storage.

## Uses of ProfileAction in org.opensaml.profile.action

Classes in org.opensaml.profile.action that implement ProfileAction
Modifier and Type
Class
Description
`class`
`AbstractConditionalProfileAction`
Base class for conditional profile actions.
`class`
`AbstractHandlerDelegatingProfileAction<DelegateType extends MessageHandler>`
Base class for a profile action which just delegates to an instance of `MessageHandler`.
`class`
`AbstractProfileAction`
Base class for profile actions.

## Uses of ProfileAction in org.opensaml.profile.action.impl

Classes in org.opensaml.profile.action.impl that implement ProfileAction
Modifier and Type
Class
Description
`class`
`AbstractMessageChannelSecurity`
Abstract base class for profile actions which populate a `MessageChannelSecurityContext` on a `BaseContext`, where the latter is located using a lookup strategy.
`class`
`CheckAccess`
This action validates that a request comes from an authorized client, based on an injected service and policy parameters.
`class`
`DecodeMessage`
Action that decodes an incoming request into a `MessageContext`.
`class`
`EncodeMessage`
Action that encodes an outbound response from the outbound `MessageContext`.
`class`
`HttpServletRequestMessageChannelSecurity`
Profile action which populates a `MessageChannelSecurityContext` based on a `HttpServletRequest`.
`class`
`LogEvent`
A profile action that logs an event if one is found in the profile request context.
`class`
`PopulateClientTLSValidationParameters`
Action that resolves and populates `ClientTLSValidationParameters` on a `ClientTLSSecurityParametersContext` created/accessed via a lookup function, by default on the inbound message context.
`class`
`PopulateDecryptionParameters`
Action that resolves and populates `DecryptionParameters` on a `SecurityParametersContext` created/accessed via a lookup function, by default on the inbound message context.
`class`
`PopulateMetricContext`
An action that populates a `MetricContext` child of the `ProfileRequestContext` with a set of rules for activating timer measurements and counters on associated objects during the execution of a profile request.
`class`
`PopulateSignatureValidationParameters`
Action that resolves and populates `SignatureValidationParameters` on a `SecurityParametersContext` created/accessed via a lookup function, by default on the inbound message context.
`class`
`SetProfileId`
A profile action that sets the ID of the profile in use.
`class`
`StaticMessageChannelSecurity`
Profile action which populates a `MessageChannelSecurityContext` based on static configuration flags.
`class`
`ValidateHttpServletRequest`
Profile action that validates an HTTP request via an instance of `HttpServletRequestValidator`.

## Uses of ProfileAction in org.opensaml.saml.common.profile.impl

Classes in org.opensaml.saml.common.profile.impl that implement ProfileAction
Modifier and Type
Class
Description
`class`
`AddAudienceRestrictionToAssertions`
Action adds an audience restriction condition to every assertion contained in a SAML 1/2 response, with the audiences obtained from a lookup function.
`class`
`AddInResponseToToResponse`
Action that adds the `InResponseTo` attribute to a response message if a SAML message ID is set on the inbound message context.
`class`
`AddNotBeforeConditionToAssertions`
Action that adds the `NotBefore` attribute to every assertion in a SAML 1/2 response message.
`class`
`AddNotOnOrAfterConditionToAssertions`
Action that adds the `NotBefore` attribute to every assertion in a SAML 1/2 response message.
`class`
`PopulateSignatureSigningParameters`
Action that resolves and populates `SignatureSigningParameters` on a `SecurityParametersContext` created/accessed via a lookup function, by default on the outbound message context.
`class`
`SignAssertions`
Action that signs assertions in a SAML 1/2 Response returned by a lookup strategy, by default the message returned by `InOutOperationContext.getOutboundMessageContext()`.
`class`
`VerifyChannelBindings`
Action that verifies two sets of `ChannelBindings` from two different `ChannelBindingsContext` objects obtained via lookup functions, by default from below the inbound message context and from below a `SOAP11Context` below the inbound message context.

## Uses of ProfileAction in org.opensaml.saml.saml1.profile.impl

Classes in org.opensaml.saml.saml1.profile.impl that implement ProfileAction
Modifier and Type
Class
Description
`class`
`AddDoNotCacheConditionToAssertions`
Action to add a `DoNotCacheCondition` to every `Assertion` in a `Response` message.
`class`
`AddNameIdentifierToSubjects`
Action that builds a `NameIdentifier` and adds it to the `Subject` of all the statements in all the assertions found via a lookup strategy, by default from the outbound message context.
`class`
`AddResponseShell`
Action that creates an empty `Response`, and sets it as the message returned by `InOutOperationContext.getOutboundMessageContext()`.
`class`
`AddStatusToResponse`
Action that sets `Status` content in a `Response` obtained from a lookup strategy, typically from the outbound message context.
`class`
`AddSubjectConfirmationToSubjects`
Action that builds `SubjectConfirmation` and adds it to the `Subject` of all the statements in all the assertions found in a `Response`.
`class`
`CopyNameIdentifierFromRequest`
Action that builds a `NameIdentifier` and adds it to the `Subject` of all the statements in all the assertions found in a `Response`.
`class`
`ResolveArtifacts`
Action that resolves SAML 1.x artifacts inside a `Request` located via a lookup strategy, by default from the inbound message context, and maps them to the corresponding assertions.

## Uses of ProfileAction in org.opensaml.saml.saml2.profile.impl

Classes in org.opensaml.saml.saml2.profile.impl that implement ProfileAction
Modifier and Type
Class
Description
`class`
`AbstractDecryptAction`
Abstract base class for actions that perform SAML decryption.
`class`
`AbstractEncryptAction`
Abstract base class for actions that perform simple unicast SAML encryption to a single decrypting party.
`class`
`AbstractResponseShellAction<MessageType extends StatusResponseType>`
Abstract action that creates an empty object derived from `StatusResponseType`, and sets it as the message returned by `InOutOperationContext.getOutboundMessageContext()`.
`class`
`AddChannelBindingsToAssertions`
Action to add `ChannelBindings` extension(s) to every `Assertion` in a `Response` message.
`class`
`AddGeneratedKeyToAssertions`
Action to add a `GeneratedKey` extension to every `Assertion` in a `Response` message.
`class`
`AddNameIDToSubjects`
Action that builds a `NameID` and adds it to the `Subject` of all the assertions found in a `Response`.
`class`
`AddOneTimeUseConditionToAssertions`
Action to add a `OneTimeUse` condition to every `Assertion` in a `Response` message.
`class`
`AddProxyRestrictionToAssertions`
Action adds an `ProxyRestriction` to every `Assertion` contained in a SAML 2 response, with the audiences and count obtained from a lookup function.
`class`
`AddStatusResponseShell`
Action that creates an empty object derived from `StatusResponseType`, and sets it as the message returned by `InOutOperationContext.getOutboundMessageContext()`.
`class`
`AddStatusToResponse`
Action that sets `Status` content in a `StatusResponseType` obtained from a lookup strategy, typically from the outbound message context.
`class`
`AddSubjectConfirmationToSubjects`
Action that builds `SubjectConfirmation` and adds it to the `Subject` of all the assertions found in a `Response`.
`class`
`CopyNameIDFromRequest`
Action that builds a `NameID` and adds it to the `Subject` of all the statements in all the assertions found in a `Response`.
`class`
`DecryptAssertions`
Action to decrypt an `EncryptedAssertion` element and replace it with the decrypted `Assertion` in situ.
`class`
`DecryptAttributes`
Action to decrypt an `EncryptedAttribute` element and replace it with the decrypted `Attribute` in situ.
`class`
`DecryptNameIDs`
Action to decrypt an `EncryptedID` element and replace it with the decrypted `NameID` in situ.
`class`
`EncryptAssertions`
Action that encrypts all assertions in a `Response` message obtained from a lookup strategy, by default the outbound message context.
`class`
`EncryptAttributes`
Action that encrypts all attributes in a `Response` message obtained from a lookup strategy, by default the outbound message context.
`class`
`EncryptNameIDs`
Action that encrypts all `NameID`s in a message obtained from a lookup strategy, by default the outbound message context.
`class`
`PopulateECPContext`
Action to create and populate an `ECPContext` based on the request and, when encryption is in use, generating a session key.
`class`
`ResolveArtifact`
Action that resolves a SAML 2.0 artifact inside an `ArtifactResolve` request located via a lookup strategy, by default from the inbound message context, and maps it to the corresponding message.
`class`
`ValidateAssertions`
A profile action which resolves SAML 2.0 Assertions from the profile request context and validates them using a resolved or configured instance of `SAML20AssertionValidator`.

## Uses of ProfileAction in org.opensaml.soap.soap11.profile.impl

Classes in org.opensaml.soap.soap11.profile.impl that implement ProfileAction
Modifier and Type
Class
Description
`class`
`AddSOAPFault`
Action that resolves or builds a SOAP 1.1 `Fault` object, and stores it in the outbound message context.

## Uses of ProfileAction in org.opensaml.storage.impl.client

Classes in org.opensaml.storage.impl.client that implement ProfileAction
Modifier and Type
Class
Description
`class`
`LoadClientStorageServices`
An action that loads any number of `ClientStorageService` instances from a POST submission or cookies as applicable.
`class`
`LogLocalStorageSaveResults`
An action that logs the results of Local Storage-based `ClientStorageService` save operations.
`class`
`PopulateClientStorageLoadContext`
An action that creates and populates a `ClientStorageLoadContext` with any storage keys identified as missing from the current session and in need of loading.
`class`
`PopulateClientStorageSaveContext`
An action that creates and populates a `ClientStorageSaveContext` with any storage operations identified as required from the current session and in need of saving.
`class`
`SaveCookieBackedClientStorageServices`
An action that performs any number of `ClientStorageServiceOperation` instances sourced from cookies by issuing the necessary Set-Cookie headers.