org.apache.cxf.phase

## Class AbstractPhaseInterceptor<T extends Message>

- java.lang.Object
- - org.apache.cxf.phase.AbstractPhaseInterceptor<T>

- All Implemented Interfaces:
    Interceptor<T>, PhaseInterceptor<T>
  Direct Known Subclasses:
    AbstractEndpointSelectionInterceptor, AbstractInDatabindingInterceptor, AbstractLoggingInterceptor, AbstractOutDatabindingInterceptor, AttachmentInInterceptor, AttachmentOutInterceptor, AttachmentOutInterceptor.AttachmentOutEndingInterceptor, FaultOutInterceptor, FIStaxInInterceptor, FIStaxOutInterceptor, MAPAggregator, MessageSenderInterceptor, MessageSenderInterceptor.MessageSenderEndingInterceptor, OneWayProcessorInterceptor, OutgoingChainInterceptor, ServiceInvokerInterceptor, StaxInEndingInterceptor, StaxInInterceptor, StaxOutEndingInterceptor, StaxOutInterceptor, TransformInInterceptor, TransformOutInterceptor

      public abstract class AbstractPhaseInterceptor<T extends Message>
      extends Object
      implements PhaseInterceptor<T>

  Provides a starting point implementation for a interceptors that participate in phased message processing. Developers should extend from this class when implementing custom interceptors. Developers need to provide an implementation for handleMessage() and can override the handleFault() implementation. They should not override the other methods.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractPhaseInterceptor(String phase)` Instantiates the interceptor to live in a specified phase.
    `AbstractPhaseInterceptor(String phase, boolean uniqueId)` Instantiates the interceptor and specifies if it gets a system determined unique id.
    `AbstractPhaseInterceptor(String i, String p)` Instantiates the interceptor with a specified id.
    `AbstractPhaseInterceptor(String i, String p, boolean uniqueId)` Instantiates the interceptor with a specified id or with a system determined unique id.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addAfter(Collection<String> i)` Specifies that the current interceptor needs to be added to the interceptor chain after the specified collection of interceptors.
    `void` | `addAfter(String i)` Specifies that the current interceptor needs to be added to the interceptor chain after the specified interceptor.
    `void` | `addBefore(Collection<String> i)` Specifies that the current interceptor needs to be added to the interceptor chain before the specified collection of interceptors.
    `void` | `addBefore(String i)` Specifies that the current interceptor needs to be added to the interceptor chain before the specified interceptor.
    `Collection<PhaseInterceptor<? extends Message>>` | `getAdditionalInterceptors()` Returns a collection of Interceptors that should be added to the chain whenever this interceptor is added.
    `Set<String>` | `getAfter()` Returns a set containing the IDs of the interceptors that should be executed before this interceptor.
    `Set<String>` | `getBefore()` Returns a set containing the IDs of the interceptors that should be executed after this interceptor.
    `String` | `getId()` Returns the ID of this interceptor.
    `String` | `getPhase()` Returns the phase in which this interceptor is excecuted.
    `void` | `handleFault(T message)` Called for all interceptors (in reverse order) on which handleMessage had been successfully invoked, when normal execution of the chain was aborted for some reason.
    `boolean` | `isGET(T message)`
    `protected boolean` | `isRequestor(T message)` Determine if current messaging role is that of requestor.
    `void` | `setAfter(Collection<String> i)` Specifies that the current interceptor needs to be added to the interceptor chain after the specified collection of interceptors.
    `void` | `setBefore(Collection<String> i)` Specifies that the current interceptor needs to be added to the interceptor chain before the specified collection of interceptors.

    - ### 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.interceptor.Interceptor

      `handleMessage`

- - ### Constructor Detail

    - #### AbstractPhaseInterceptor

          public AbstractPhaseInterceptor(String phase)

      Instantiates the interceptor to live in a specified phase. The interceptor's id will be set to the name of the implementing class.
      Parameters:
        `phase` - the interceptor's phase

    - #### AbstractPhaseInterceptor

          public AbstractPhaseInterceptor(String i,
                                  String p)

      Instantiates the interceptor with a specified id.
      Parameters:
        `i` - the interceptor's id
        `p` - the interceptor's phase

    - #### AbstractPhaseInterceptor

          public AbstractPhaseInterceptor(String phase,
                                  boolean uniqueId)

      Instantiates the interceptor and specifies if it gets a system determined unique id. If `uniqueId` is set to true the interceptor's id will be determined by the runtime. If `uniqueId` is set to false, the implementing class' name is used as the id.
      Parameters:
        `phase` - the interceptor's phase
        `uniqueId` - true to have a unique ID generated

    - #### AbstractPhaseInterceptor

          public AbstractPhaseInterceptor(String i,
                                  String p,
                                  boolean uniqueId)

      Instantiates the interceptor with a specified id or with a system determined unique id. The specified id will be used unless `uniqueId` is set to true.
      Parameters:
        `i` - the interceptor's id
        `p` - the interceptor's phase
        `uniqueId` -

  - ### Method Detail

    - #### setBefore

          public void setBefore(Collection<String> i)

      Specifies that the current interceptor needs to be added to the interceptor chain before the specified collection of interceptors. This method replaces any existing list with the provided list.
      Parameters:
        `i` - a collection of interceptor ids

    - #### setAfter

          public void setAfter(Collection<String> i)

      Specifies that the current interceptor needs to be added to the interceptor chain after the specified collection of interceptors. This method replaces any existing list with the provided list.
      Parameters:
        `i` - a collection of interceptor ids

    - #### addBefore

          public void addBefore(Collection<String> i)

      Specifies that the current interceptor needs to be added to the interceptor chain before the specified collection of interceptors.
      Parameters:
        `i` - a collection of interceptor ids

    - #### addAfter

          public void addAfter(Collection<String> i)

      Specifies that the current interceptor needs to be added to the interceptor chain after the specified collection of interceptors.
      Parameters:
        `i` - a collection of interceptor ids

    - #### addBefore

          public void addBefore(String i)

      Specifies that the current interceptor needs to be added to the interceptor chain before the specified interceptor.
      Parameters:
        `i` - an interceptor id

    - #### addAfter

          public void addAfter(String i)

      Specifies that the current interceptor needs to be added to the interceptor chain after the specified interceptor.
      Parameters:
        `i` - an interceptor id

    - #### getAfter

          public final Set<String> getAfter()

      Description copied from interface: `PhaseInterceptor`
      Returns a set containing the IDs of the interceptors that should be executed before this interceptor. This interceptor will be placed in the chain after the interceptors in the set.
      Specified by:
        `getAfter` in interface `PhaseInterceptor<T extends Message>`
      Returns:
        the IDs of the interceptors

    - #### getBefore

          public final Set<String> getBefore()

      Description copied from interface: `PhaseInterceptor`
      Returns a set containing the IDs of the interceptors that should be executed after this interceptor. This interceptor will be placed in the inteceptor chain before the interceptors in the set.
      Specified by:
        `getBefore` in interface `PhaseInterceptor<T extends Message>`
      Returns:
        the ids of the interceptors

    - #### getAdditionalInterceptors

          public Collection<PhaseInterceptor<? extends Message>> getAdditionalInterceptors()

      Description copied from interface: `PhaseInterceptor`
      Returns a collection of Interceptors that should be added to the chain whenever this interceptor is added. May return null.
      Specified by:
        `getAdditionalInterceptors` in interface `PhaseInterceptor<T extends Message>`
      Returns:
        the collection of interceptors

    - #### getId

          public final String getId()

      Description copied from interface: `PhaseInterceptor`
      Returns the ID of this interceptor.
      Specified by:
        `getId` in interface `PhaseInterceptor<T extends Message>`
      Returns:
        the ID

    - #### getPhase

          public final String getPhase()

      Description copied from interface: `PhaseInterceptor`
      Returns the phase in which this interceptor is excecuted.
      Specified by:
        `getPhase` in interface `PhaseInterceptor<T extends Message>`
      Returns:
        the phase

    - #### handleFault

          public void handleFault(T message)

      Description copied from interface: `Interceptor`
      Called for all interceptors (in reverse order) on which handleMessage had been successfully invoked, when normal execution of the chain was aborted for some reason.
      Specified by:
        `handleFault` in interface `Interceptor<T extends Message>`

    - #### isGET

          public boolean isGET(T message)

    - #### isRequestor

          protected boolean isRequestor(T message)

      Determine if current messaging role is that of requestor.
      Parameters:
        `message` - the current Message
      Returns:
        true if the current messaging role is that of requestor

Apache CXF