Package org.opensaml.messaging.encoder
Class AbstractMessageEncoder
java.lang.Object
net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
org.opensaml.messaging.encoder.AbstractMessageEncoder
- All Implemented Interfaces:
Component
,DestructableComponent
,InitializableComponent
,UnmodifiableComponent
,MessageEncoder
- Direct Known Subclasses:
AbstractHttpClientRequestMessageEncoder
,AbstractHttpServletResponseMessageEncoder
public abstract class AbstractMessageEncoder
extends AbstractInitializableComponent
implements MessageEncoder, UnmodifiableComponent
Abstract message encoder.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
protected abstract void
doEncode()
Performs the encoding logic.protected void
void
encode()
Encode theMessageContext
supplied viaMessageEncoder.setMessageContext(MessageContext)
to the sink.protected MessageContext
Get the message context.void
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 context) Set theMessageContext
which is to be encoded.Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, 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.DestructableComponent
destroy, isDestroyed
Methods inherited from interface net.shibboleth.utilities.java.support.component.InitializableComponent
initialize, isInitialized
-
Field Details
-
messageContext
The message context.
-
-
Constructor Details
-
AbstractMessageEncoder
public AbstractMessageEncoder()
-
-
Method Details
-
setMessageContext
Set theMessageContext
which is to be encoded.- Specified by:
setMessageContext
in interfaceMessageEncoder
- Parameters:
context
- the message context
-
encode
Encode theMessageContext
supplied viaMessageEncoder.setMessageContext(MessageContext)
to the sink.- Specified by:
encode
in interfaceMessageEncoder
- Throws:
MessageEncodingException
- if there is a problem encoding the message context
-
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.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).
. Default implementation is a no-op.- Specified by:
prepareContext
in interfaceMessageEncoder
- Throws:
MessageEncodingException
- if there is a problem preparing the message context for encoding
-
getMessageContext
Get the message context.- Returns:
- the message context.
-
doDestroy
protected void doDestroy()- Overrides:
doDestroy
in classAbstractInitializableComponent
-
doInitialize
- Overrides:
doInitialize
in classAbstractInitializableComponent
- Throws:
ComponentInitializationException
-
doEncode
Performs the encoding logic. By the time this is called, this encoder has already been initialized and checked to ensure that it has not been destroyed.- Throws:
MessageEncodingException
- thrown if there is a problem encoding the message
-