com.sun.xml.ws.server.sei
Class EndpointArgumentsBuilder.Composite

java.lang.Object
  extended by com.sun.xml.ws.server.sei.EndpointArgumentsBuilder
      extended by com.sun.xml.ws.server.sei.EndpointArgumentsBuilder.Composite
Enclosing class:
EndpointArgumentsBuilder

static final class EndpointArgumentsBuilder.Composite
extends EndpointArgumentsBuilder

EndpointArgumentsBuilder that is a composition of multiple EndpointArgumentsBuilders.

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 EndpointArgumentsBuilders (that each responsible for handling one part).

The model guarantees that only at most one EndpointArgumentsBuilder 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.server.sei.EndpointArgumentsBuilder
EndpointArgumentsBuilder.AttachmentBuilder, EndpointArgumentsBuilder.Body, EndpointArgumentsBuilder.Composite, EndpointArgumentsBuilder.DocLit, EndpointArgumentsBuilder.Header, EndpointArgumentsBuilder.None, EndpointArgumentsBuilder.NullSetter, EndpointArgumentsBuilder.RpcLit
 
Field Summary
 
Fields inherited from class com.sun.xml.ws.server.sei.EndpointArgumentsBuilder
NONE
 
Constructor Summary
EndpointArgumentsBuilder.Composite(Collection<? extends EndpointArgumentsBuilder> builders)
           
EndpointArgumentsBuilder.Composite(EndpointArgumentsBuilder... builders)
           
 
Method Summary
 void readRequest(Message msg, Object[] args)
          Reads a request Message, disassembles it, and moves obtained Java values to the expected places.
 
Methods inherited from class com.sun.xml.ws.server.sei.EndpointArgumentsBuilder
getVMUninitializedValue, getWSDLPartName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EndpointArgumentsBuilder.Composite

public EndpointArgumentsBuilder.Composite(EndpointArgumentsBuilder... builders)

EndpointArgumentsBuilder.Composite

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

readRequest

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

Specified by:
readRequest in class EndpointArgumentsBuilder
Parameters:
msg - The request 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.
Throws:
JAXBException - if there's an error during unmarshalling the request message.
javax.xml.stream.XMLStreamException - if there's an error during unmarshalling the request message.