Class AbstractResponseShellAction<MessageType extends StatusResponseType>
java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
org.opensaml.profile.action.AbstractProfileAction
org.opensaml.saml.saml2.profile.impl.AbstractResponseShellAction<MessageType>
- Type Parameters:
MessageType- the actual message type
- All Implemented Interfaces:
Component,DestructableComponent,InitializableComponent,ProfileAction
public abstract class AbstractResponseShellAction<MessageType extends StatusResponseType>
extends AbstractProfileAction
Abstract 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 Summary
FieldsModifier and TypeFieldDescriptionprivate IdentifierGenerationStrategyThe generator to use.Strategy used to locate theIdentifierGenerationStrategyto use.private StringEntityID to populate into Issuer element.private Function<ProfileRequestContext,String> Strategy used to obtain the response issuer value.private org.slf4j.LoggerClass logger.private booleanOverwrite an existing message? -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddoExecute(ProfileRequestContext profileRequestContext) Performs this action.protected booleandoPreExecute(ProfileRequestContext profileRequestContext) Called prior to execution, actions may override this method to perform pre-processing for a request.protected abstract QNameGet the type of message to build.voidsetIdentifierGeneratorLookupStrategy(Function<ProfileRequestContext, IdentifierGenerationStrategy> strategy) Set the strategy used to locate theIdentifierGenerationStrategyto use.voidSet the strategy used to locate the issuer value to use.voidsetOverwriteExisting(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, setHttpServletResponseSupplierMethods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent
checkComponentActive, checkSetterPreconditions, destroy, doDestroy, doInitialize, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException, initialize, isDestroyed, isInitializedMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.shibboleth.shared.component.InitializableComponent
initialize, isInitialized
-
Field Details
-
log
@Nonnull private org.slf4j.Logger logClass logger. -
overwriteExisting
private boolean overwriteExistingOverwrite an existing message? -
idGeneratorLookupStrategy
@Nonnull private Function<ProfileRequestContext,IdentifierGenerationStrategy> idGeneratorLookupStrategyStrategy used to locate theIdentifierGenerationStrategyto use. -
issuerLookupStrategy
Strategy used to obtain the response issuer value. -
idGenerator
The generator to use. -
issuerId
EntityID to populate into Issuer element.
-
-
Constructor Details
-
AbstractResponseShellAction
public AbstractResponseShellAction()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 theIdentifierGenerationStrategyto use.- Parameters:
strategy- lookup strategy
-
setIssuerLookupStrategy
Set the strategy used to locate the issuer value to use.- Parameters:
strategy- lookup strategy
-
doPreExecute
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
EventContextto 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:
doPreExecutein classAbstractProfileAction- Parameters:
profileRequestContext- the current IdP profile request context- Returns:
- true iff execution should proceed
-
doExecute
Performs this action. Actions must override this method to perform their work.- Overrides:
doExecutein classAbstractProfileAction- Parameters:
profileRequestContext- the current IdP profile request context
-
getMessageType
Get the type of message to build.- Returns:
- the type of message
-