Package org.apache.cxf.endpoint

# Class AbstractConduitSelector

java.lang.Object
org.apache.cxf.endpoint.AbstractConduitSelector

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`, `ConduitSelector`

Direct Known Subclasses:
  `DeferredConduitSelector`, `UpfrontConduitSelector`

public abstract class AbstractConduitSelector extends Object implements ConduitSelector, Closeable
Abstract base class holding logic common to any ConduitSelector that retrieves a Conduit from the ConduitInitiator.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `CONDUIT_COMPARE_FULL_URL`
  `protected List<Conduit>`
  `conduits`
  `protected Endpoint`
  `endpoint`
  `protected static final String`
  `KEEP_CONDUIT_ALIVE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AbstractConduitSelector()`
  `AbstractConduitSelector(Conduit c)`
  Constructor, allowing a specific conduit to override normal selection.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  `void`
  `complete(Exchange exchange)`
  Called on completion of the MEP for which the Conduit was required.
  `protected Conduit`
  `createConduit(Message message, Exchange exchange, ConduitInitiator conduitInitiator)`
  `protected Conduit`
  `findCompatibleConduit(Message message)`
  If address protocol was changed, conduit should be re-initialised
  `Endpoint`
  `getEndpoint()`
  `protected abstract Logger`
  `getLogger()`
  `protected Conduit`
  `getSelectedConduit(Message message)`
  Mechanics to actually get the Conduit from the ConduitInitiator if necessary.
  `protected void`
  `removeConduit(Conduit conduit)`
  `protected boolean`
  `replaceEndpointAddressPropertyIfNeeded(Message message, String endpointAddress, Conduit cond)`
  `void`
  `setEndpoint(Endpoint ep)`

  ### 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.endpoint.ConduitSelector

  `prepare, selectConduit`

- ## Field Details

  - ### CONDUIT_COMPARE_FULL_URL

    public static final String CONDUIT_COMPARE_FULL_URL
    See Also:
      - Constant Field Values

  - ### KEEP_CONDUIT_ALIVE

    protected static final String KEEP_CONDUIT_ALIVE
    See Also:
      - Constant Field Values

  - ### conduits

    protected List<Conduit> conduits

  - ### endpoint

    protected Endpoint endpoint

- ## Constructor Details

  - ### AbstractConduitSelector

    public AbstractConduitSelector()

  - ### AbstractConduitSelector

    public AbstractConduitSelector(Conduit c)
    Constructor, allowing a specific conduit to override normal selection.
    Parameters:
      `c` - specific conduit

- ## Method Details

  - ### close

    public void close()
    Specified by:
      `close` in interface `AutoCloseable`
    Specified by:
      `close` in interface `Closeable`

  - ### removeConduit

    protected void removeConduit(Conduit conduit)

  - ### getSelectedConduit

    protected Conduit getSelectedConduit(Message message)
    Mechanics to actually get the Conduit from the ConduitInitiator if necessary.
    Parameters:
      `message` - the current Message

  - ### createConduit

    protected Conduit createConduit(Message message, Exchange exchange, ConduitInitiator conduitInitiator) throws IOException
    Throws:
      `IOException`

  - ### replaceEndpointAddressPropertyIfNeeded

    protected boolean replaceEndpointAddressPropertyIfNeeded(Message message, String endpointAddress, Conduit cond)

  - ### getEndpoint

    public Endpoint getEndpoint()
    Specified by:
      `getEndpoint` in interface `ConduitSelector`
    Returns:
      the encapsulated Endpoint

  - ### setEndpoint

    public void setEndpoint(Endpoint ep)
    Specified by:
      `setEndpoint` in interface `ConduitSelector`
    Parameters:
      `ep` - the endpoint to encapsulate

  - ### complete

    public void complete(Exchange exchange)
    Called on completion of the MEP for which the Conduit was required.
    Specified by:
      `complete` in interface `ConduitSelector`
    Parameters:
      `exchange` - represents the completed MEP

  - ### getLogger

    protected abstract Logger getLogger()
    Returns:
      the logger to use

  - ### findCompatibleConduit

    protected Conduit findCompatibleConduit(Message message)
    If address protocol was changed, conduit should be re-initialised
    Parameters:
      `message` - the current Message