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
Status
is set toStatusCode.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
Fields Modifier and Type Field Description private IdentifierGenerationStrategy
idGenerator
The generator to use.private Function<ProfileRequestContext,IdentifierGenerationStrategy>
idGeneratorLookupStrategy
Strategy used to locate theIdentifierGenerationStrategy
to use.private String
issuerId
EntityID to populate into Issuer element.private Function<ProfileRequestContext,String>
issuerLookupStrategy
Strategy used to obtain the response issuer value.private org.slf4j.Logger
log
Class logger.private boolean
overwriteExisting
Overwrite 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 void
doExecute(ProfileRequestContext profileRequestContext)
protected boolean
doPreExecute(ProfileRequestContext profileRequestContext)
protected abstract QName
getMessageType()
Get the type of message to build.void
setIdentifierGeneratorLookupStrategy(Function<ProfileRequestContext,IdentifierGenerationStrategy> strategy)
Set the strategy used to locate theIdentifierGenerationStrategy
to use.void
setIssuerLookupStrategy(Function<ProfileRequestContext,String> strategy)
Set the strategy used to locate the issuer value to use.void
setOverwriteExisting(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 theIdentifierGenerationStrategy
to 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 theIdentifierGenerationStrategy
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
-
doPreExecute
protected boolean doPreExecute(@Nonnull ProfileRequestContext profileRequestContext)
- Overrides:
doPreExecute
in classAbstractProfileAction
-
doExecute
protected void doExecute(@Nonnull ProfileRequestContext profileRequestContext)
- Overrides:
doExecute
in classAbstractProfileAction
-
getMessageType
@Nonnull protected abstract QName getMessageType()
Get the type of message to build.- Returns:
- the type of message
-
-