Package org.apache.cxf.ws.addressing

## Class MAPAggregator

- java.lang.Object
- - org.apache.cxf.phase.AbstractPhaseInterceptor<Message>
  - - org.apache.cxf.ws.addressing.MAPAggregator

- All Implemented Interfaces:
    `Interceptor<Message>`, `PhaseInterceptor<Message>`

      public class MAPAggregator
      extends AbstractPhaseInterceptor<Message>

  Logical Handler responsible for aggregating the Message Addressing Properties for outgoing messages.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static interface` | `MAPAggregator.MAPAggregatorLoader` |

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static String` | `ACTION_VERIFIED` |
    `static String` | `ADDRESSING_DISABLED` |
    `static String` | `ADDRESSING_NAMESPACE` |
    `protected boolean` | `addressingRequired` |
    `protected WSAddressingFeature.AddressingResponses` | `addressingResponses` |
    `protected boolean` | `allowDuplicates` |
    `static String` | `DECOUPLED_DESTINATION` |
    `protected MessageIdCache` | `messageIdCache` |
    `static String` | `USING_ADDRESSING` |
    `protected boolean` | `usingAddressingAdvisory` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `MAPAggregator()` | Constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `allowDuplicates()` | Indicates if duplicate messageIDs are allowed.
    `Collection<PhaseInterceptor<? extends Message>>` | `getAdditionalInterceptors()` | Returns a collection of Interceptors that should be added to the chain whenever this interceptor is added.
    `WSAddressingFeature.AddressingResponses` | `getAddressingResponses()` | Sets Addressing Response
    `MessageIdCache` | `getMessageIdCache()` | Returns the cache used to enforce duplicate message IDs when `allowDuplicates()` returns `false`.
    `void` | `handleFault​(Message 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.
    `void` | `handleMessage​(Message message)` | Invoked for normal processing of inbound and outbound messages.
    `boolean` | `isAddressingRequired()` | Whether the use of addressing is completely required for this endpoint
    `boolean` | `isUsingAddressingAdvisory()` | Whether the presence of the element in the WSDL is purely advisory, i.e. its absence doesn't prevent the encoding of WS-A headers.
    `void` | `setAddressingRequired​(boolean required)` | Sets whether the use of addressing is completely required for this endpoint
    `void` | `setAddressingResponses​(WSAddressingFeature.AddressingResponses responses)` | Sets Addresing Response
    `void` | `setAllowDuplicates​(boolean ad)` | Allows/disallows duplicate messageIdDs.
    `void` | `setMessageIdCache​(MessageIdCache messageIdCache)` | Sets the cache used to enforce duplicate message IDs when `allowDuplicates()` returns `false`.
    `void` | `setUsingAddressingAdvisory​(boolean advisory)` | Controls whether the presence of the element in the WSDL is purely advisory, i.e. its absence doesn't prevent the encoding of WS-A headers.

    - ### Methods inherited from class org.apache.cxf.phase.AbstractPhaseInterceptor

      `addAfter, addAfter, addBefore, addBefore, getAfter, getBefore, getId, getPhase, isGET, isRequestor, setAfter, setBefore`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### USING_ADDRESSING

          public static final String USING_ADDRESSING

    - #### ADDRESSING_DISABLED

          public static final String ADDRESSING_DISABLED

    - #### DECOUPLED_DESTINATION

          public static final String DECOUPLED_DESTINATION

    - #### ACTION_VERIFIED

          public static final String ACTION_VERIFIED

    - #### ADDRESSING_NAMESPACE

          public static final String ADDRESSING_NAMESPACE

    - #### messageIdCache

          protected MessageIdCache messageIdCache

    - #### usingAddressingAdvisory

          protected boolean usingAddressingAdvisory

    - #### addressingRequired

          protected boolean addressingRequired

    - #### allowDuplicates

          protected boolean allowDuplicates

    - #### addressingResponses

          protected WSAddressingFeature.AddressingResponses addressingResponses

  - ### Constructor Detail

    - #### MAPAggregator

          public MAPAggregator()

      Constructor.

  - ### Method Detail

    - #### allowDuplicates

          public boolean allowDuplicates()

      Indicates if duplicate messageIDs are allowed.
      Returns:
        true if duplicate messageIDs are allowed

    - #### setAllowDuplicates

          public void setAllowDuplicates​(boolean ad)

      Allows/disallows duplicate messageIdDs.
      Parameters:
        `ad` - whether duplicate messageIDs are allowed

    - #### isUsingAddressingAdvisory

          public boolean isUsingAddressingAdvisory()

      Whether the presence of the element in the WSDL is purely advisory, i.e. its absence doesn't prevent the encoding of WS-A headers.
      Returns:
        true if the presence of the element is advisory

    - #### setUsingAddressingAdvisory

          public void setUsingAddressingAdvisory​(boolean advisory)

      Controls whether the presence of the element in the WSDL is purely advisory, i.e. its absence doesn't prevent the encoding of WS-A headers.
      Parameters:
        `advisory` - true if the presence of the element is to be advisory

    - #### isAddressingRequired

          public boolean isAddressingRequired()

      Whether the use of addressing is completely required for this endpoint
      Returns:
        true if addressing is required

    - #### setAddressingRequired

          public void setAddressingRequired​(boolean required)

      Sets whether the use of addressing is completely required for this endpoint

    - #### setAddressingResponses

          public void setAddressingResponses​(WSAddressingFeature.AddressingResponses responses)

      Sets Addresing Response

    - #### getMessageIdCache

          public MessageIdCache getMessageIdCache()

      Returns the cache used to enforce duplicate message IDs when `allowDuplicates()` returns `false`.
      Returns:
        the cache used to enforce duplicate message IDs

    - #### setMessageIdCache

          public void setMessageIdCache​(MessageIdCache messageIdCache)

      Sets the cache used to enforce duplicate message IDs when `allowDuplicates()` returns `false`.
      Parameters:
        `messageIdCache` - the cache to use
      Throws:
        `NullPointerException` - if `messageIdCache` is `null`

    - #### getAddressingResponses

          public WSAddressingFeature.AddressingResponses getAddressingResponses()

      Sets Addressing Response

    - #### handleMessage

          public void handleMessage​(Message message)

      Invoked for normal processing of inbound and outbound messages.
      Parameters:
        `message` - the current message

    - #### handleFault

          public void handleFault​(Message 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<Message>`
      Overrides:
        `handleFault` in class `AbstractPhaseInterceptor<Message>`

    - #### 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<Message>`
      Overrides:
        `getAdditionalInterceptors` in class `AbstractPhaseInterceptor<Message>`
      Returns:
        the collection of interceptors