Package org.apache.cxf.ws.addressing

## Class ContextUtils

- java.lang.Object
- - org.apache.cxf.ws.addressing.ContextUtils

-     public final class ContextUtils
      extends Object

  Holder for utility methods relating to contexts.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static String` | `ACTION` |
    `static org.apache.cxf.ws.addressing.ObjectFactory` | `WSA_OBJECT_FACTORY` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static void` | `applyReferenceParam​(org.apache.cxf.ws.addressing.EndpointReferenceType toEpr, Object el)` |
    `static Destination` | `createDecoupledDestination​(Exchange exchange, org.apache.cxf.ws.addressing.EndpointReferenceType reference)` |
    `static Message` | `createMessage​(Exchange exchange)` | Create a Binding specific Message.
    `static String` | `generateUUID()` |
    `static org.apache.cxf.ws.addressing.AttributedURIType` | `getAttributedURI​(String uri)` | Helper method to get an attributed URI.
    `static Conduit` | `getConduit​(Conduit conduit, Message message)` | Retreive Conduit from Exchange if not already available
    `static String` | `getMAPProperty​(boolean isRequestor, boolean isProviderContext, boolean isOutbound)` | Get appropriate property name for message addressing properties.
    `static org.apache.cxf.ws.addressing.EndpointReferenceType` | `getNoneEndpointReference()` |
    `static org.apache.cxf.ws.addressing.RelatesToType` | `getRelatesTo​(String uri)` | Helper method to get a RealtesTo instance.
    `static boolean` | `hasEmptyAction​(AddressingProperties maps)` | Helper method to determine if an MAPs Action is empty (a null action is considered empty, whereas a zero length action suppresses the propagation of the Action property).
    `static boolean` | `isAnonymousAddress​(org.apache.cxf.ws.addressing.EndpointReferenceType ref)` | Helper method to determine if an EPR address is anon (either null, anonymous).
    `static boolean` | `isFault​(Message message)` | Determine if message is fault.
    `static boolean` | `isGenericAddress​(org.apache.cxf.ws.addressing.EndpointReferenceType ref)` | Helper method to determine if an EPR address is generic (either null, none or anonymous).
    `static boolean` | `isNoneAddress​(org.apache.cxf.ws.addressing.EndpointReferenceType ref)` | Helper method to determine if an EPR address is none.
    `static boolean` | `isOutbound​(Message message)` | Determine if message is outbound.
    `static boolean` | `isRequestor​(Message message)` | Determine if current messaging role is that of requestor.
    `static void` | `propogateReceivedMAPs​(AddressingProperties inMAPs, Exchange exchange)` | Propagate inbound MAPs onto full reponse & fault messages.
    `static void` | `propogateReceivedMAPs​(AddressingProperties inMAPs, Message responseMessage)` | Propogate inbound MAPs onto reponse message if applicable (not applicable for oneways).
    `static boolean` | `retrieveAsyncPostResponseDispatch​(Message message)` | Retrieve indication that an async post-response service invocation is required.
    `static boolean` | `retrieveDeferredUncorrelatedMessageAbort​(Message message)` | Retrieve indication that a deferred uncorrelated message abort should occur.
    `static boolean` | `retrieveDeferUncorrelatedMessageAbort​(Message message)` | Retrieve indication that a deferred uncorrelated message abort is supported
    `static String` | `retrieveMAPFaultName​(Message message)` | Retrieve MAP fault name from the message.
    `static String` | `retrieveMAPFaultReason​(Message message)` | Retrieve MAP fault reason from the message.
    `static AddressingProperties` | `retrieveMAPs​(Message message, boolean isProviderContext, boolean isOutbound)` |
    `static AddressingProperties` | `retrieveMAPs​(Message message, boolean isProviderContext, boolean isOutbound, boolean warnIfMissing)` |
    `static boolean` | `retrievePartialResponseSent​(Message message)` | Retrieve indication that a partial response has been sent.
    `static void` | `storeDeferredUncorrelatedMessageAbort​(Message message)` | Store indication that a deferred uncorrelated message abort should occur
    `static void` | `storeDeferUncorrelatedMessageAbort​(Message message)` | Store indication that a deferred uncorrelated message abort is supported
    `static void` | `storeMAPFaultName​(String faultName, Message message)` | Store bad MAP fault name in the message.
    `static void` | `storeMAPFaultReason​(String reason, Message message)` | Store MAP fault reason in the message.
    `static void` | `storeMAPs​(AddressingProperties maps, Message message, boolean isOutbound)` | Store MAPs in the message.
    `static void` | `storeMAPs​(AddressingProperties maps, Message message, boolean isOutbound, boolean isRequestor)` | Store MAPs in the message.
    `static void` | `storeMAPs​(AddressingProperties maps, Message message, boolean isOutbound, boolean isRequestor, boolean isProviderContext)` | Store MAPs in the message.
    `static void` | `storePartialResponseSent​(Message message)` | Store an indication that a partial response has been sent.

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

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

- - ### Field Detail

    - #### WSA_OBJECT_FACTORY

          public static final org.apache.cxf.ws.addressing.ObjectFactory WSA_OBJECT_FACTORY

    - #### ACTION

          public static final String ACTION

  - ### Method Detail

    - #### isOutbound

          public static boolean isOutbound​(Message message)

      Determine if message is outbound.
      Parameters:
        `message` - the current Message
      Returns:
        true iff the message direction is outbound

    - #### isFault

          public static boolean isFault​(Message message)

      Determine if message is fault.
      Parameters:
        `message` - the current Message
      Returns:
        true iff the message is a fault

    - #### isRequestor

          public static boolean isRequestor​(Message 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

    - #### getMAPProperty

          public static String getMAPProperty​(boolean isRequestor,
                                              boolean isProviderContext,
                                              boolean isOutbound)

      Get appropriate property name for message addressing properties.
      Parameters:
        `isRequestor` - true if the current messaging role is that of requestor
        `isProviderContext` - true if the binding provider request context available to the client application as opposed to the message context visible to handlers
        `isOutbound` - true if the message is outbound
      Returns:
        the property name to use when caching the MAPs in the context

    - #### storeMAPs

          public static void storeMAPs​(AddressingProperties maps,
                                       Message message,
                                       boolean isOutbound)

      Store MAPs in the message.
      Parameters:
        `message` - the current message
        `isOutbound` - true if the message is outbound

    - #### storeMAPs

          public static void storeMAPs​(AddressingProperties maps,
                                       Message message,
                                       boolean isOutbound,
                                       boolean isRequestor)

      Store MAPs in the message.
      Parameters:
        `maps` - the MAPs to store
        `message` - the current message
        `isOutbound` - true if the message is outbound
        `isRequestor` - true if the current messaging role is that of requestor

    - #### storeMAPs

          public static void storeMAPs​(AddressingProperties maps,
                                       Message message,
                                       boolean isOutbound,
                                       boolean isRequestor,
                                       boolean isProviderContext)

      Store MAPs in the message.
      Parameters:
        `maps` - the MAPs to store
        `message` - the current message
        `isOutbound` - true if the message is outbound
        `isRequestor` - true if the current messaging role is that of requestor
        `isProviderContext` - true if the binding provider request context

    - #### retrieveMAPs

          public static AddressingProperties retrieveMAPs​(Message message,
                                                          boolean isProviderContext,
                                                          boolean isOutbound)

      Parameters:
        `message` - the current message
        `isProviderContext` - true if the binding provider request context available to the client application as opposed to the message context visible to handlers
        `isOutbound` - true if the message is outbound
      Returns:
        the current addressing properties

    - #### retrieveMAPs

          public static AddressingProperties retrieveMAPs​(Message message,
                                                          boolean isProviderContext,
                                                          boolean isOutbound,
                                                          boolean warnIfMissing)

      Parameters:
        `message` - the current message
        `isProviderContext` - true if the binding provider request context available to the client application as opposed to the message context visible to handlers
        `isOutbound` - true if the message is outbound
        `warnIfMissing` - log a warning message if properties cannot be retrieved
      Returns:
        the current addressing properties

    - #### getAttributedURI

          public static org.apache.cxf.ws.addressing.AttributedURIType getAttributedURI​(String uri)

      Helper method to get an attributed URI.
      Parameters:
        `uri` - the URI
      Returns:
        an AttributedURIType encapsulating the URI

    - #### getRelatesTo

          public static org.apache.cxf.ws.addressing.RelatesToType getRelatesTo​(String uri)

      Helper method to get a RealtesTo instance.
      Parameters:
        `uri` - the related URI
      Returns:
        a RelatesToType encapsulating the URI

    - #### isGenericAddress

          public static boolean isGenericAddress​(org.apache.cxf.ws.addressing.EndpointReferenceType ref)

      Helper method to determine if an EPR address is generic (either null, none or anonymous).
      Parameters:
        `ref` - the EPR under test
      Returns:
        true if the address is generic

    - #### isAnonymousAddress

          public static boolean isAnonymousAddress​(org.apache.cxf.ws.addressing.EndpointReferenceType ref)

      Helper method to determine if an EPR address is anon (either null, anonymous).
      Parameters:
        `ref` - the EPR under test
      Returns:
        true if the address is generic

    - #### isNoneAddress

          public static boolean isNoneAddress​(org.apache.cxf.ws.addressing.EndpointReferenceType ref)

      Helper method to determine if an EPR address is none.
      Parameters:
        `ref` - the EPR under test
      Returns:
        true if the address is generic

    - #### hasEmptyAction

          public static boolean hasEmptyAction​(AddressingProperties maps)

      Helper method to determine if an MAPs Action is empty (a null action is considered empty, whereas a zero length action suppresses the propagation of the Action property).
      Parameters:
        `maps` - the MAPs Action under test
      Returns:
        true if the Action is empty

    - #### propogateReceivedMAPs

          public static void propogateReceivedMAPs​(AddressingProperties inMAPs,
                                                   Exchange exchange)

      Propagate inbound MAPs onto full reponse & fault messages.
      Parameters:
        `inMAPs` - the inbound MAPs
        `exchange` - the current Exchange

    - #### propogateReceivedMAPs

          public static void propogateReceivedMAPs​(AddressingProperties inMAPs,
                                                   Message responseMessage)

      Propogate inbound MAPs onto reponse message if applicable (not applicable for oneways).
      Parameters:
        `inMAPs` - the inbound MAPs
        `responseMessage` -

    - #### storeMAPFaultName

          public static void storeMAPFaultName​(String faultName,
                                               Message message)

      Store bad MAP fault name in the message.
      Parameters:
        `faultName` - the fault name to store
        `message` - the current message

    - #### retrieveMAPFaultName

          public static String retrieveMAPFaultName​(Message message)

      Retrieve MAP fault name from the message.
      Parameters:
        `message` - the current message
      Returns:
        the retrieved fault name

    - #### storeMAPFaultReason

          public static void storeMAPFaultReason​(String reason,
                                                 Message message)

      Store MAP fault reason in the message.
      Parameters:
        `reason` - the fault reason to store
        `message` - the current message

    - #### retrieveMAPFaultReason

          public static String retrieveMAPFaultReason​(Message message)

      Retrieve MAP fault reason from the message.
      Parameters:
        `message` - the current message
      Returns:
        the retrieved fault reason

    - #### storePartialResponseSent

          public static void storePartialResponseSent​(Message message)

      Store an indication that a partial response has been sent. Relavant if *both* the replyTo & faultTo are decoupled, and a fault occurs, then we would already have sent the partial response (pre-dispatch) for the replyTo, so no need to send again.
      Parameters:
        `message` - the current message

    - #### retrievePartialResponseSent

          public static boolean retrievePartialResponseSent​(Message message)

      Retrieve indication that a partial response has been sent.
      Parameters:
        `message` - the current message
      Returns:
        the retrieved indication that a partial response has been sent

    - #### storeDeferUncorrelatedMessageAbort

          public static void storeDeferUncorrelatedMessageAbort​(Message message)

      Store indication that a deferred uncorrelated message abort is supported
      Parameters:
        `message` - the current message

    - #### retrieveDeferUncorrelatedMessageAbort

          public static boolean retrieveDeferUncorrelatedMessageAbort​(Message message)

      Retrieve indication that a deferred uncorrelated message abort is supported
      Parameters:
        `message` - the current message
      Returns:
        the retrieved indication

    - #### storeDeferredUncorrelatedMessageAbort

          public static void storeDeferredUncorrelatedMessageAbort​(Message message)

      Store indication that a deferred uncorrelated message abort should occur
      Parameters:
        `message` - the current message

    - #### retrieveDeferredUncorrelatedMessageAbort

          public static boolean retrieveDeferredUncorrelatedMessageAbort​(Message message)

      Retrieve indication that a deferred uncorrelated message abort should occur.
      Parameters:
        `message` - the current message
      Returns:
        the retrieved indication

    - #### retrieveAsyncPostResponseDispatch

          public static boolean retrieveAsyncPostResponseDispatch​(Message message)

      Retrieve indication that an async post-response service invocation is required.
      Parameters:
        `message` - the current message
      Returns:
        the retrieved indication that an async post-response service invocation is required.

    - #### generateUUID

          public static String generateUUID()

      Returns:
        a generated UUID

    - #### getConduit

          public static Conduit getConduit​(Conduit conduit,
                                           Message message)

      Retreive Conduit from Exchange if not already available
      Parameters:
        `conduit` - the current value for the Conduit
        `message` - the current message
      Returns:
        the Conduit if available

    - #### getNoneEndpointReference

          public static org.apache.cxf.ws.addressing.EndpointReferenceType getNoneEndpointReference()

    - #### applyReferenceParam

          public static void applyReferenceParam​(org.apache.cxf.ws.addressing.EndpointReferenceType toEpr,
                                                 Object el)

    - #### createMessage

          public static Message createMessage​(Exchange exchange)

      Create a Binding specific Message.
      Parameters:
        `exchange` - the current exchange
      Returns:
        the Method from the BindingOperationInfo

    - #### createDecoupledDestination

          public static Destination createDecoupledDestination​(Exchange exchange,
                                                               org.apache.cxf.ws.addressing.EndpointReferenceType reference)