MessageType
- the message type of the message context on which to operatepublic interface MessageEncoder<MessageType>
extends net.shibboleth.utilities.java.support.component.InitializableComponent, net.shibboleth.utilities.java.support.component.DestructableComponent
MessageContext
to a sink. Before the encoder can be
used the InitializableComponent.initialize()
method must be called. After the encoder has been used the DestructableComponent.destroy()
should
be invoked in order to clean up any resources.
The sink data or structure on which the encoder operates is supplied in an implementation-specific manner.
Modifier and Type | Method and Description |
---|---|
void |
encode()
Encode the
MessageContext supplied via setMessageContext(MessageContext) to the sink. |
void |
prepareContext()
This method should prepare the message context by creating and populating any binding-specific data structures
required in the MessageContext, prior to actually encoding.
|
void |
setMessageContext(MessageContext<MessageType> messageContext)
Set the
MessageContext which is to be encoded. |
void prepareContext() throws MessageEncodingException
This method should be called after the MessageContext has been set, and before any binding-specific Handler or HandlerChains are invoked.
Example: For a SOAP encoder, this method would create and store the basic SOAP Envelope structure in the message context, so that Handlers that are invoked have a place to which to add headers.
This method may be a no-op if not required by the binding, or if the message type of the context implies that the binding-specific structures have already been created elsewhere (e.g. message-oriented code where the calling code already knows its SOAP, and is operating on the raw SOAP envelope anyway).
MessageEncodingException
- if there is a problem preparing the message context for encodingvoid encode() throws MessageEncodingException
MessageContext
supplied via setMessageContext(MessageContext)
to the sink.MessageEncodingException
- if there is a problem encoding the message contextvoid setMessageContext(MessageContext<MessageType> messageContext)
MessageContext
which is to be encoded.messageContext
- the message contextCopyright © 2016. All rights reserved.