Package org.opensaml.saml.saml1.profile.impl

# Class AddResponseShell

java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
org.opensaml.profile.action.AbstractProfileAction
org.opensaml.saml.saml1.profile.impl.AddResponseShell

All Implemented Interfaces:
  `Component`, `DestructableComponent`, `InitializableComponent`, `ProfileAction`

public class AddResponseShell extends AbstractProfileAction
Action that creates an empty `Response`, and sets it as the message returned by `InOutOperationContext.getOutboundMessageContext()`.

The `Status` is set to `StatusCode.SUCCESS` as a default assumption, and this can be overridden by subsequent actions.

Event:
  `EventIds.PROCEED_EVENT_ID`, `EventIds.INVALID_MSG_CTX`, `EventIds.INVALID_PROFILE_CTX`
Postcondition:
  ProfileRequestContext.getOutboundMessageContext().getMessage() != null

## Field Summary

Fields
Modifier and Type
Field
Description
`private IdentifierGenerationStrategy`
`idGenerator`
The generator to use.
`private Function<ProfileRequestContext,IdentifierGenerationStrategy>`
`idGeneratorLookupStrategy`
Strategy used to locate the `IdentifierGenerationStrategy` to use.
`private org.slf4j.Logger`
`log`
Class logger.
`private boolean`
`overwriteExisting`
Overwrite an existing message?

## Constructor Summary

Constructors
Constructor
Description
`AddResponseShell()`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`protected void`
`doExecute(ProfileRequestContext profileRequestContext)`
Performs this action.
`protected boolean`
`doPreExecute(ProfileRequestContext profileRequestContext)`
Called prior to execution, actions may override this method to perform pre-processing for a request.
`void`
`setIdentifierGeneratorLookupStrategy(Function<ProfileRequestContext,IdentifierGenerationStrategy> strategy)`
Set the strategy used to locate the `IdentifierGenerationStrategy` to use.
`void`
`setOverwriteExisting(boolean flag)`
Set whether to overwrite an existing message.

### Methods inherited from class org.opensaml.profile.action.AbstractProfileAction

`doPostExecute, doPostExecute, ensureHttpServletRequest, ensureHttpServletResponse, execute, getHttpServletRequest, getHttpServletRequestSupplier, getHttpServletResponse, getHttpServletResponseSupplier, getLogPrefix, isPreExecuteCalled, setHttpServletRequestSupplier, setHttpServletResponseSupplier`

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

`checkComponentActive, checkSetterPreconditions, destroy, doDestroy, doInitialize, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException, initialize, isDestroyed, isInitialized`

### 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.component.InitializableComponent

`initialize, isInitialized`

## Field Details

### log

@Nonnull private org.slf4j.Logger log
Class logger.

### idGeneratorLookupStrategy

@Nonnull private Function<ProfileRequestContext,IdentifierGenerationStrategy> idGeneratorLookupStrategy
Strategy used to locate the `IdentifierGenerationStrategy` to use.

### overwriteExisting

private boolean overwriteExisting
Overwrite an existing message?

### idGenerator

@NonnullBeforeExec private IdentifierGenerationStrategy idGenerator
The generator to use.

## Constructor Details

### AddResponseShell

public AddResponseShell()
Constructor.

## Method Details

### setOverwriteExisting

public void setOverwriteExisting(boolean flag)
Set whether to overwrite an existing message.

Parameters:
  `flag` - flag to set

### setIdentifierGeneratorLookupStrategy

public void setIdentifierGeneratorLookupStrategy(@Nonnull Function<ProfileRequestContext,IdentifierGenerationStrategy> strategy)
Set the strategy used to locate the `IdentifierGenerationStrategy` to use.

Parameters:
  `strategy` - lookup strategy

### doPreExecute

protected boolean doPreExecute(@Nonnull ProfileRequestContext profileRequestContext)
Called prior to execution, actions may override this method to perform pre-processing for a request.

If false is returned, execution will not proceed, and the action should attach an `EventContext` to the context tree to signal how to continue with overall workflow processing.

If returning successfully, the last step should be to return the result of the superclass version of this method.

Overrides:
  `doPreExecute` in class `AbstractProfileAction`
Parameters:
  `profileRequestContext` - the current IdP profile request context
Returns:
  true iff execution should proceed

### doExecute

protected void doExecute(@Nonnull ProfileRequestContext profileRequestContext)
Performs this action. Actions must override this method to perform their work.

Overrides:
  `doExecute` in class `AbstractProfileAction`
Parameters:
  `profileRequestContext` - the current IdP profile request context