Package org.apache.cxf.transport

# Class AbstractDestination

java.lang.Object
org.apache.cxf.transport.AbstractObservable
org.apache.cxf.transport.AbstractDestination

All Implemented Interfaces:
  `Destination`, `DestinationWithEndpoint`, `Observable`

Direct Known Subclasses:
  `AbstractMultiplexDestination`

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

  Nested Classes
  Modifier and Type
  Class
  Description
  `protected class`
  `AbstractDestination.AbstractBackChannelConduit`
  Backchannel conduit.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected final Bus`
  `bus`
  `protected final EndpointInfo`
  `endpointInfo`
  `protected final org.apache.cxf.ws.addressing.EndpointReferenceType`
  `reference`

  ### Fields inherited from class org.apache.cxf.transport.AbstractObservable

  `incomingObserver`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AbstractDestination(Bus b, org.apache.cxf.ws.addressing.EndpointReferenceType ref, EndpointInfo ei)`
  `AbstractDestination(org.apache.cxf.ws.addressing.EndpointReferenceType ref, EndpointInfo ei)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `org.apache.cxf.ws.addressing.EndpointReferenceType`
  `getAddress()`
  `Conduit`
  `getBackChannel(Message inMessage)`
  Retrieve 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. stop accepting incoming messages.

  ### 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 Details

  - ### reference

    protected final org.apache.cxf.ws.addressing.EndpointReferenceType reference

  - ### endpointInfo

    protected final EndpointInfo endpointInfo

  - ### bus

    protected final Bus bus

- ## Constructor Details

  - ### AbstractDestination

    public AbstractDestination(org.apache.cxf.ws.addressing.EndpointReferenceType ref, EndpointInfo ei)

  - ### AbstractDestination

    public AbstractDestination(Bus b, org.apache.cxf.ws.addressing.EndpointReferenceType ref, EndpointInfo ei)

- ## Method Details

  - ### getAddress

    public org.apache.cxf.ws.addressing.EndpointReferenceType getAddress()
    Specified by:
      `getAddress` in interface `Destination`
    Returns:
      the reference associated with this Destination

  - ### getBackChannel

    public Conduit getBackChannel(Message inMessage) throws IOException
    Retrieve 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)
    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.