Apache CXF API

org.apache.cxf.transport
Class AbstractDestination

java.lang.Object
  extended by org.apache.cxf.transport.AbstractObservable
      extended by org.apache.cxf.transport.AbstractDestination
All Implemented Interfaces:
Destination, DestinationWithEndpoint, Observable
Direct Known Subclasses:
AbstractMultiplexDestination, LocalDestination, SoapTcpDestination

public abstract class AbstractDestination
extends AbstractObservable
implements Destination, DestinationWithEndpoint

Abstract base class factoring out common Destination logic, allowing non-decoupled transports to be written without any regard for the decoupled back-channel or partial response logic.


Nested Class Summary
protected  class AbstractDestination.AbstractBackChannelConduit
          Backchannel conduit.
 
Field Summary
protected  Bus bus
           
protected  EndpointInfo endpointInfo
           
protected  EndpointReferenceType reference
           
 
Fields inherited from class org.apache.cxf.transport.AbstractObservable
incomingObserver
 
Constructor Summary
AbstractDestination(Bus b, EndpointReferenceType ref, EndpointInfo ei)
           
AbstractDestination(EndpointReferenceType ref, EndpointInfo ei)
           
 
Method Summary
 EndpointReferenceType getAddress()
           
 Conduit getBackChannel(Message inMessage, Message partialResponse, EndpointReferenceType address)
          Retreive a back-channel Conduit, which must be policy-compatible with the current Message and associated Destination.
 EndpointInfo getEndpointInfo()
          Return the ServiceModel endpoint description for this destination.
protected abstract  Conduit getInbuiltBackChannel(Message inMessage)
           
 void shutdown()
          Shutdown the Destination, i.e.
 
Methods inherited from class org.apache.cxf.transport.AbstractObservable
activate, deactivate, getLogger, getMessageObserver, getTargetReference, getTargetReference, setMessageObserver
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.cxf.transport.Destination
getMessageObserver
 
Methods inherited from interface org.apache.cxf.transport.Observable
setMessageObserver
 

Field Detail

reference

protected final EndpointReferenceType reference

endpointInfo

protected final EndpointInfo endpointInfo

bus

protected final Bus bus
Constructor Detail

AbstractDestination

public AbstractDestination(EndpointReferenceType ref,
                           EndpointInfo ei)

AbstractDestination

public AbstractDestination(Bus b,
                           EndpointReferenceType ref,
                           EndpointInfo ei)
Method Detail

getAddress

public EndpointReferenceType getAddress()
Specified by:
getAddress in interface Destination
Returns:
the reference associated with this Destination

getBackChannel

public Conduit getBackChannel(Message inMessage,
                              Message partialResponse,
                              EndpointReferenceType address)
                       throws IOException
Retreive a back-channel Conduit, which must be policy-compatible with the current Message and associated Destination. For example compatible Quality of Protection must be asserted on the back-channel. This would generally only be an issue if the back-channel is decoupled.

Specified by:
getBackChannel in interface Destination
Parameters:
inMessage - the current inbound message (null to indicate a disassociated back-channel)
partialResponse - in the decoupled case, this is expected to be the outbound Message to be sent over the in-built back-channel.
address - the backchannel address (null to indicate anonymous)
Returns:
a suitable Conduit
Throws:
IOException

shutdown

public void shutdown()
Shutdown the Destination, i.e. stop accepting incoming messages.

Specified by:
shutdown in interface Destination

getInbuiltBackChannel

protected abstract Conduit getInbuiltBackChannel(Message inMessage)
Parameters:
inMessage - the incoming message
Returns:
the inbuilt backchannel

getEndpointInfo

public EndpointInfo getEndpointInfo()
Return the ServiceModel endpoint description for this destination.

Specified by:
getEndpointInfo in interface DestinationWithEndpoint
Returns:
the endpoint description.

Apache CXF API

Apache CXF