Class AddStatusResponseShell

All Implemented Interfaces:
Component, DestructableComponent, InitializableComponent, ProfileAction

public class AddStatusResponseShell extends AbstractProfileAction
Action that creates an empty object derived from StatusResponseType, 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.

If an issuer value is returned via a lookup strategy, then it's set as the Issuer of the message.

Event:
EventIds.PROCEED_EVENT_ID, EventIds.INVALID_MSG_CTX
Postcondition:
ProfileRequestContext.getOutboundMessageContext().getMessage() != null
  • Field Details

  • Constructor Details

    • AddStatusResponseShell

      public AddStatusResponseShell()
      Constructor.
  • Method Details

    • setMessageType

      public void setMessageType(@Nonnull QName type)
      Set the type of message to create.
      Parameters:
      type - message type
    • 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
    • setIssuerLookupStrategy

      public void setIssuerLookupStrategy(@Nullable Function<ProfileRequestContext,String> strategy)
      Set the strategy used to locate the issuer value to use.
      Parameters:
      strategy - lookup strategy
    • doInitialize

      protected void doInitialize() throws ComponentInitializationException
      Overrides:
      doInitialize in class AbstractInitializableComponent
      Throws:
      ComponentInitializationException
    • 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