Class EncodeMessage
- All Implemented Interfaces:
Component
,DestructableComponent
,InitializableComponent
,ProfileAction
MessageContext
.
The input to setMessageEncoderFactory(Function)
is used to obtain a new
MessageEncoder
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
FieldsModifier and TypeFieldDescriptionprivate Function<ProfileRequestContext,
MessageEncoder> The function to use to obtain an encoder.private final org.slf4j.Logger
Class logger.private MessageHandler
An optionalMessageHandler
instance to be invoked afterMessageEncoder.prepareContext()
and prior toMessageEncoder.encode()
.private MessageContext
The outbound MessageContext to encode. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
doExecute
(ProfileRequestContext profileRequestContext) Performs this action.protected void
protected boolean
doPreExecute
(ProfileRequestContext profileRequestContext) Called prior to execution, actions may override this method to perform pre-processing for a request.void
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 Details
-
log
@Nonnull private final org.slf4j.Logger logClass logger. -
encoderFactory
The function to use to obtain an encoder. -
messageHandler
An optionalMessageHandler
instance to be invoked afterMessageEncoder.prepareContext()
and prior toMessageEncoder.encode()
. -
msgContext
The outbound MessageContext to encode.
-
-
Constructor Details
-
EncodeMessage
public EncodeMessage()
-
-
Method Details
-
setMessageEncoderFactory
public void setMessageEncoderFactory(@Nonnull Function<ProfileRequestContext, MessageEncoder> factory) Set the encoder factory to use.- Parameters:
factory
- factory to use
-
setMessageHandler
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
- Overrides:
doInitialize
in classAbstractInitializableComponent
- Throws:
ComponentInitializationException
-
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
EventContext
to 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:
doPreExecute
in 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:
doExecute
in classAbstractProfileAction
- Parameters:
profileRequestContext
- the current IdP profile request context
-