Package org.apache.cxf.endpoint

## Interface ConduitSelector

- All Known Implementing Classes:
    `AbstractConduitSelector`, `DeferredConduitSelector`, `NullConduitSelector`, `PreexistingConduitSelector`, `UpfrontConduitSelector`

      public interface ConduitSelector

  Strategy for retrieving a Conduit to mediate an outbound message. A specific instance implementing a particular strategy may be injected into the Client via config.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `complete​(Exchange exchange)` | Called on completion of the MEP for which the Conduit was required.
    `Endpoint` | `getEndpoint()` |
    `void` | `prepare​(Message message)` | Called prior to the interceptor chain being traversed.
    `Conduit` | `selectConduit​(Message message)` | Called when a Conduit is actually required.
    `void` | `setEndpoint​(Endpoint endpoint)` |

- - ### Method Detail

    - #### prepare

          void prepare​(Message message)

      Called prior to the interceptor chain being traversed. This is the point at which an eager strategy would retrieve a Conduit.
      Parameters:
        `message` - the current Message

    - #### selectConduit

          Conduit selectConduit​(Message message)

      Called when a Conduit is actually required. This is the point at which a lazy strategy would retrieve a Conduit.
      Parameters:
        `message` -
      Returns:
        the Conduit to use for mediation of the message

    - #### complete

          void complete​(Exchange exchange)

      Called on completion of the MEP for which the Conduit was required. This is the point at which a one-shot strategy would dispose of the Conduit.
      Parameters:
        `exchange` - represents the completed MEP

    - #### getEndpoint

          Endpoint getEndpoint()

      Returns:
        the encapsulated Endpoint

    - #### setEndpoint

          void setEndpoint​(Endpoint endpoint)

      Parameters:
        `endpoint` - the Endpoint to encapsulate