Class AbstractResponseShellAction<MessageType extends StatusResponseType>
- java.lang.Object
-
- net.shibboleth.utilities.java.support.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 fromStatusResponseType, and sets it as the message returned byInOutOperationContext.getOutboundMessageContext().The
Statusis set toStatusCode.SUCCESSas 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
Fields Modifier and Type Field Description private IdentifierGenerationStrategyidGeneratorThe generator to use.private Function<ProfileRequestContext,IdentifierGenerationStrategy>idGeneratorLookupStrategyStrategy used to locate theIdentifierGenerationStrategyto use.private StringissuerIdEntityID to populate into Issuer element.private Function<ProfileRequestContext,String>issuerLookupStrategyStrategy used to obtain the response issuer value.private org.slf4j.LoggerlogClass logger.private booleanoverwriteExistingOverwrite an existing message?
-
Constructor Summary
Constructors Constructor Description AbstractResponseShellAction()Constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected voiddoExecute(ProfileRequestContext profileRequestContext)protected booleandoPreExecute(ProfileRequestContext profileRequestContext)protected abstract QNamegetMessageType()Get the type of message to build.voidsetIdentifierGeneratorLookupStrategy(Function<ProfileRequestContext,IdentifierGenerationStrategy> strategy)Set the strategy used to locate theIdentifierGenerationStrategyto use.voidsetIssuerLookupStrategy(Function<ProfileRequestContext,String> strategy)Set 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, execute, getHttpServletRequest, getHttpServletResponse, getLogPrefix, setHttpServletRequest, setHttpServletResponse
-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, doDestroy, doInitialize, 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.utilities.java.support.component.InitializableComponent
initialize, isInitialized
-
-
-
-
Field Detail
-
log
@Nonnull private org.slf4j.Logger log
Class logger.
-
overwriteExisting
private boolean overwriteExisting
Overwrite an existing message?
-
idGeneratorLookupStrategy
@Nonnull private Function<ProfileRequestContext,IdentifierGenerationStrategy> idGeneratorLookupStrategy
Strategy used to locate theIdentifierGenerationStrategyto use.
-
issuerLookupStrategy
@Nullable private Function<ProfileRequestContext,String> issuerLookupStrategy
Strategy used to obtain the response issuer value.
-
idGenerator
@Nullable private IdentifierGenerationStrategy idGenerator
The generator to use.
-
issuerId
@Nullable private String issuerId
EntityID to populate into Issuer element.
-
-
Method Detail
-
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
public void setIssuerLookupStrategy(@Nullable Function<ProfileRequestContext,String> strategy)Set the strategy used to locate the issuer value to use.- Parameters:
strategy- lookup strategy
-
doPreExecute
protected boolean doPreExecute(@Nonnull ProfileRequestContext profileRequestContext)- Overrides:
doPreExecutein classAbstractProfileAction
-
doExecute
protected void doExecute(@Nonnull ProfileRequestContext profileRequestContext)- Overrides:
doExecutein classAbstractProfileAction
-
getMessageType
@Nonnull protected abstract QName getMessageType()
Get the type of message to build.- Returns:
- the type of message
-
-