Class EncodeMessage
- java.lang.Object
-
- net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
-
- org.opensaml.profile.action.AbstractProfileAction
-
- org.opensaml.profile.action.impl.EncodeMessage
-
- All Implemented Interfaces:
Component,DestructableComponent,InitializableComponent,ProfileAction
public class EncodeMessage extends AbstractProfileAction
Action that encodes an outbound response from the outboundMessageContext.The input to
setMessageEncoderFactory(Function)is used to obtain a newMessageEncoderto use, and the encoder is destroyed upon completion.- Event:
EventIds.PROCEED_EVENT_ID,EventIds.INVALID_MSG_CTX,EventIds.UNABLE_TO_ENCODE- Postcondition:
- If ProfileRequestContext.getOutboundMessageContext() != null, it will be injected and encoded.
-
-
Field Summary
Fields Modifier and Type Field Description private Function<ProfileRequestContext,MessageEncoder>encoderFactoryThe function to use to obtain an encoder.private org.slf4j.LoggerlogClass logger.private MessageHandlermessageHandlerAn optionalMessageHandlerinstance to be invoked afterMessageEncoder.prepareContext()and prior toMessageEncoder.encode().private MessageContextmsgContextThe outbound MessageContext to encode.
-
Constructor Summary
Constructors Constructor Description EncodeMessage()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddoExecute(ProfileRequestContext profileRequestContext)Performs this action.protected voiddoInitialize()protected booleandoPreExecute(ProfileRequestContext profileRequestContext)Called prior to execution, actions may override this method to perform pre-processing for a request.voidsetMessageEncoderFactory(Function<ProfileRequestContext,MessageEncoder> factory)Set the encoder factory to use.voidsetMessageHandler(MessageHandler handler)The suppliedMessageHandlerwill be invoked on theMessageContextafterMessageEncoder.prepareContext(), and prior to invokingMessageEncoder.encode().-
Methods inherited from class org.opensaml.profile.action.AbstractProfileAction
doPostExecute, doPostExecute, execute, getHttpServletRequest, getHttpServletRequestSupplier, getHttpServletResponse, getHttpServletResponseSupplier, getLogPrefix, setHttpServletRequest, setHttpServletRequestSupplier, setHttpServletResponse, setHttpServletResponseSupplier
-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, doDestroy, 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 final org.slf4j.Logger log
Class logger.
-
encoderFactory
@NonnullAfterInit private Function<ProfileRequestContext,MessageEncoder> encoderFactory
The function to use to obtain an encoder.
-
messageHandler
@Nullable private MessageHandler messageHandler
An optionalMessageHandlerinstance to be invoked afterMessageEncoder.prepareContext()and prior toMessageEncoder.encode().
-
msgContext
@Nullable private MessageContext msgContext
The outbound MessageContext to encode.
-
-
Method Detail
-
setMessageEncoderFactory
public void setMessageEncoderFactory(@Nonnull Function<ProfileRequestContext,MessageEncoder> factory)Set the encoder factory to use.- Parameters:
factory- factory to use
-
setMessageHandler
public void setMessageHandler(@Nullable MessageHandler handler)The supplied
MessageHandlerwill be invoked on theMessageContextafterMessageEncoder.prepareContext(), and prior to invokingMessageEncoder.encode(). Its use is optional and primarily used for transport/binding-specific message handling, as opposed to more generalized message handling operations which would typically be invoked earlier than this action. For more details seeMessageEncoder.- Parameters:
handler- a message handler
-
doInitialize
protected void doInitialize() throws ComponentInitializationException- Overrides:
doInitializein classAbstractInitializableComponent- 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
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
protected void doExecute(@Nonnull ProfileRequestContext profileRequestContext)Performs this action. Actions must override this method to perform their work.- Overrides:
doExecutein classAbstractProfileAction- Parameters:
profileRequestContext- the current IdP profile request context
-
-