Package org.opensaml.profile.action.impl
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
encoderFactory
is used to obtain a newMessageEncoder
to 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>
encoderFactory
The function to use to obtain an encoder.private org.slf4j.Logger
log
Class logger.private MessageHandler
messageHandler
An optionalMessageHandler
instance to be invoked afterMessageEncoder.prepareContext()
and prior toMessageEncoder.encode()
.private MessageContext
msgContext
The outbound MessageContext to encode.
-
Constructor Summary
Constructors Constructor Description EncodeMessage()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
doExecute(ProfileRequestContext profileRequestContext)
protected void
doInitialize()
protected boolean
doPreExecute(ProfileRequestContext profileRequestContext)
void
setMessageEncoderFactory(Function<ProfileRequestContext,MessageEncoder> factory)
Set the encoder factory to use.void
setMessageHandler(MessageHandler handler)
The suppliedMessageHandler
will be invoked on theMessageContext
afterMessageEncoder.prepareContext()
, and prior to invokingMessageEncoder.encode()
.-
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, 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 optionalMessageHandler
instance 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
MessageHandler
will be invoked on theMessageContext
afterMessageEncoder.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:
doInitialize
in classAbstractInitializableComponent
- Throws:
ComponentInitializationException
-
doPreExecute
protected boolean doPreExecute(@Nonnull ProfileRequestContext profileRequestContext)
- Overrides:
doPreExecute
in classAbstractProfileAction
-
doExecute
protected void doExecute(@Nonnull ProfileRequestContext profileRequestContext)
- Overrides:
doExecute
in classAbstractProfileAction
-
-