Package org.apache.cxf.ws.rm
Class EncoderDecoder
- java.lang.Object
-
- org.apache.cxf.ws.rm.EncoderDecoder
-
- Direct Known Subclasses:
EncoderDecoder10AImpl,EncoderDecoder10Impl,EncoderDecoder11Impl
public abstract class EncoderDecoder extends Object
Base class for converting WS-ReliableMessaging structures to and from XML. Subclasses provide version-specific encoding and decoding.
-
-
Field Summary
Fields Modifier and Type Field Description protected DataBindingdatabinding
-
Constructor Summary
Constructors Constructor Description EncoderDecoder()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description HeaderbuildHeaderFault(SequenceFault sf)Builds an element containing a WS-RM Fault.protected abstract ObjectbuildHeaderFaultObject(SequenceFault sf)Build a header fault, using the correct protocol variation.voidbuildHeaders(RMProperties rmps, List<Header> headers)Builds an element containing WS-RM headers.protected abstract voidbuildHeaders(SequenceType seq, Collection<SequenceAcknowledgement> acks, Collection<AckRequestedType> reqs, boolean last, List<Header> headers)Build all required headers, using the correct protocol variation.abstract CreateSequenceTypeconvertReceivedCreateSequence(Object create)Convert a received CreateSequence message to internal form.abstract CreateSequenceResponseTypeconvertReceivedCreateSequenceResponse(Object create)Convert a received CreateSequenceResponse message to internal form.abstract TerminateSequenceTypeconvertReceivedTerminateSequence(Object term)Convert a received TerminateSequence message to internal form.abstract ObjectconvertToSend(CreateSequenceResponseType create)Convert a CreateSequenceResponse message to the correct format for transmission.abstract ObjectconvertToSend(CreateSequenceType create)Convert a CreateSequence message to the correct format for transmission.abstract ObjectconvertToSend(TerminateSequenceType term)Convert a TerminateSequence message to the correct format for transmission.abstract AckRequestedTypedecodeAckRequestedType(Element elem)Unmarshals a AckRequestedType, converting it if necessary to the internal form.abstract SequenceAcknowledgementdecodeSequenceAcknowledgement(Element elem)Unmarshals a SequenceAcknowledgement, converting it if necessary to the internal form.abstract SequenceTypedecodeSequenceType(Element elem)Unmarshals a SequenceType, converting it if necessary to the internal form.abstract CloseSequenceTypedecodeSequenceTypeCloseSequence(Element elem)Generates a CloseSequenceType if a SequenceType represents a last message state.abstract ElementencodeIdentifier(Identifier id)Marshals an Identifier to the appropriate external form.abstract ElementencodeSequenceAcknowledgement(SequenceAcknowledgement ack)Marshals a SequenceAcknowledgement to the appropriate external form.abstract RMConstantsgetConstants()Get the WS-ReliableMessaging constants used by this encoder/decoder.protected abstract javax.xml.bind.JAXBContextgetContext()Get context for JAXB marshalling/unmarshalling.abstract Class<?>getCreateSequenceResponseType()Get the class used for the CreateSequenceResponseType.abstract Class<?>getCreateSequenceType()Get the class used for the CreateSequenceType.protected DataBindinggetDataBinding()Get the databinding used for the header objectsabstract Class<?>getTerminateSequenceResponseType()Get the class used for the TerminateSequenceResponseType.abstract Class<?>getTerminateSequenceType()Get the class used for the TerminateSequenceType.abstract StringgetWSANamespace()Get the WS-Addressing namespace used by this encoder/decoder.abstract StringgetWSRMNamespace()Get the WS-ReliableMessaging namespace used by this encoder/decoder.
-
-
-
Field Detail
-
databinding
protected volatile DataBinding databinding
-
-
Method Detail
-
getContext
protected abstract javax.xml.bind.JAXBContext getContext() throws javax.xml.bind.JAXBExceptionGet context for JAXB marshalling/unmarshalling.- Returns:
- context
- Throws:
javax.xml.bind.JAXBException
-
getWSRMNamespace
public abstract String getWSRMNamespace()
Get the WS-ReliableMessaging namespace used by this encoder/decoder.- Returns:
- URI
-
getWSANamespace
public abstract String getWSANamespace()
Get the WS-Addressing namespace used by this encoder/decoder.- Returns:
- URI
-
getConstants
public abstract RMConstants getConstants()
Get the WS-ReliableMessaging constants used by this encoder/decoder.- Returns:
-
getCreateSequenceType
public abstract Class<?> getCreateSequenceType()
Get the class used for the CreateSequenceType.- Returns:
- class
-
getCreateSequenceResponseType
public abstract Class<?> getCreateSequenceResponseType()
Get the class used for the CreateSequenceResponseType.- Returns:
- class
-
getTerminateSequenceType
public abstract Class<?> getTerminateSequenceType()
Get the class used for the TerminateSequenceType.- Returns:
- class
-
getTerminateSequenceResponseType
public abstract Class<?> getTerminateSequenceResponseType()
Get the class used for the TerminateSequenceResponseType.- Returns:
- class
-
getDataBinding
protected DataBinding getDataBinding() throws javax.xml.bind.JAXBException
Get the databinding used for the header objects- Returns:
- databinding
- Throws:
javax.xml.bind.JAXBException
-
buildHeaders
public void buildHeaders(RMProperties rmps, List<Header> headers) throws javax.xml.bind.JAXBException
Builds an element containing WS-RM headers. This adds the appropriate WS-RM namespace declaration to the element, and then adds any WS-RM headers set in the supplied properties as child elements.- Parameters:
rmps-headers- the list of headers- Throws:
javax.xml.bind.JAXBException
-
buildHeaderFault
public Header buildHeaderFault(SequenceFault sf) throws javax.xml.bind.JAXBException
Builds an element containing a WS-RM Fault. This adds the appropriate WS-RM namespace declaration to the element, and then adds the Fault as a child element.- Parameters:
sf-- Returns:
- Header fault
- Throws:
javax.xml.bind.JAXBException
-
buildHeaders
protected abstract void buildHeaders(SequenceType seq, Collection<SequenceAcknowledgement> acks, Collection<AckRequestedType> reqs, boolean last, List<Header> headers) throws javax.xml.bind.JAXBException
Build all required headers, using the correct protocol variation.- Parameters:
seq-acks-reqs-last-headers-- Throws:
javax.xml.bind.JAXBException
-
buildHeaderFaultObject
protected abstract Object buildHeaderFaultObject(SequenceFault sf)
Build a header fault, using the correct protocol variation.- Parameters:
sf-- Returns:
- the object marshallable with the JAXContext
-
encodeSequenceAcknowledgement
public abstract Element encodeSequenceAcknowledgement(SequenceAcknowledgement ack) throws javax.xml.bind.JAXBException
Marshals a SequenceAcknowledgement to the appropriate external form.- Parameters:
ack-- Returns:
- element
- Throws:
javax.xml.bind.JAXBException
-
encodeIdentifier
public abstract Element encodeIdentifier(Identifier id) throws javax.xml.bind.JAXBException
Marshals an Identifier to the appropriate external form.- Parameters:
id-- Returns:
- element
- Throws:
javax.xml.bind.JAXBException
-
decodeSequenceType
public abstract SequenceType decodeSequenceType(Element elem) throws javax.xml.bind.JAXBException
Unmarshals a SequenceType, converting it if necessary to the internal form.- Parameters:
elem-- Returns:
- Throws:
javax.xml.bind.JAXBException
-
decodeSequenceTypeCloseSequence
public abstract CloseSequenceType decodeSequenceTypeCloseSequence(Element elem) throws javax.xml.bind.JAXBException
Generates a CloseSequenceType if a SequenceType represents a last message state.- Parameters:
elem-- Returns:
- CloseSequenceType if last message state, else
null - Throws:
javax.xml.bind.JAXBException
-
decodeSequenceAcknowledgement
public abstract SequenceAcknowledgement decodeSequenceAcknowledgement(Element elem) throws javax.xml.bind.JAXBException
Unmarshals a SequenceAcknowledgement, converting it if necessary to the internal form.- Parameters:
elem-- Returns:
- Throws:
javax.xml.bind.JAXBException
-
decodeAckRequestedType
public abstract AckRequestedType decodeAckRequestedType(Element elem) throws javax.xml.bind.JAXBException
Unmarshals a AckRequestedType, converting it if necessary to the internal form.- Parameters:
elem-- Returns:
- Throws:
javax.xml.bind.JAXBException
-
convertToSend
public abstract Object convertToSend(CreateSequenceType create)
Convert a CreateSequence message to the correct format for transmission.- Parameters:
create-- Returns:
- converted
-
convertToSend
public abstract Object convertToSend(CreateSequenceResponseType create)
Convert a CreateSequenceResponse message to the correct format for transmission.- Parameters:
create-- Returns:
- converted
-
convertToSend
public abstract Object convertToSend(TerminateSequenceType term)
Convert a TerminateSequence message to the correct format for transmission.- Parameters:
term-- Returns:
- converted
-
convertReceivedTerminateSequence
public abstract TerminateSequenceType convertReceivedTerminateSequence(Object term)
Convert a received TerminateSequence message to internal form.- Parameters:
term-- Returns:
- converted
-
convertReceivedCreateSequence
public abstract CreateSequenceType convertReceivedCreateSequence(Object create)
Convert a received CreateSequence message to internal form.- Parameters:
create-- Returns:
- converted
-
convertReceivedCreateSequenceResponse
public abstract CreateSequenceResponseType convertReceivedCreateSequenceResponse(Object create)
Convert a received CreateSequenceResponse message to internal form.- Parameters:
create-- Returns:
- converted
-
-