com.sun.xml.ws.client.sei
Class ResponseBuilder.Composite

java.lang.Object
  extended by com.sun.xml.ws.client.sei.ResponseBuilder
      extended by com.sun.xml.ws.client.sei.ResponseBuilder.Composite
Enclosing class:
ResponseBuilder

static final class ResponseBuilder.Composite
extends ResponseBuilder

ResponseBuilder that is a composition of multiple ResponseBuilders.

Sometimes we need to look at multiple parts of the reply message (say, two header params, one body param, and three attachments, etc.) and that's when this object is used to combine multiple ResponseBuilders (that each responsible for handling one part).

The model guarantees that only at most one ResponseBuilder will return a value as a return value (and everything else has to go to Holders.)


Nested Class Summary
 
Nested classes/interfaces inherited from class com.sun.xml.ws.client.sei.ResponseBuilder
ResponseBuilder.AttachmentBuilder, ResponseBuilder.Body, ResponseBuilder.Composite, ResponseBuilder.DocLit, ResponseBuilder.Header, ResponseBuilder.None, ResponseBuilder.NullSetter, ResponseBuilder.RpcLit
 
Field Summary
 
Fields inherited from class com.sun.xml.ws.client.sei.ResponseBuilder
NONE
 
Constructor Summary
ResponseBuilder.Composite(Collection<? extends ResponseBuilder> builders)
           
ResponseBuilder.Composite(ResponseBuilder... builders)
           
 
Method Summary
 Object readResponse(Message msg, Object[] args)
          Reads a response Message, disassembles it, and moves obtained Java values to the expected places.
 
Methods inherited from class com.sun.xml.ws.client.sei.ResponseBuilder
getVMUninitializedValue, getWSDLPartName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ResponseBuilder.Composite

public ResponseBuilder.Composite(ResponseBuilder... builders)

ResponseBuilder.Composite

public ResponseBuilder.Composite(Collection<? extends ResponseBuilder> builders)
Method Detail

readResponse

public Object readResponse(Message msg,
                           Object[] args)
                    throws JAXBException,
                           javax.xml.stream.XMLStreamException
Description copied from class: ResponseBuilder
Reads a response Message, disassembles it, and moves obtained Java values to the expected places.

Specified by:
readResponse in class ResponseBuilder
Parameters:
msg - The reply Message to be de-composed.
args - The Java arguments given to the SEI method invocation. Some parts of the reply message may be set to Holders in the arguments.
Returns:
If a part of the reply message is returned as a return value from the SEI method, this method returns that value. Otherwise null.
Throws:
JAXBException - if there's an error during unmarshalling the reply message.
javax.xml.stream.XMLStreamException - if there's an error during unmarshalling the reply message.