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 and Description
    --- | ---
    `static String` | `ACTION`
    `static ObjectFactory` | `WSA_OBJECT_FACTORY`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `applyReferenceParam(EndpointReferenceType toEpr, Object el)`
    `static Destination` | `createDecoupledDestination(Exchange exchange, EndpointReferenceType reference)`
    `static Message` | `createMessage(Exchange exchange)` Create a Binding specific Message.
    `static String` | `generateUUID()`
    `static 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 JAXBContext` | `getJAXBContext()` Retrieve a JAXBContext for marshalling and unmarshalling JAXB generated types.
    `static String` | `getMAPProperty(boolean isRequestor, boolean isProviderContext, boolean isOutbound)` Get appropriate property name for message addressing properties.
    `static EndpointReferenceType` | `getNoneEndpointReference()`
    `static 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(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(EndpointReferenceType ref)` Helper method to determine if an EPR address is generic (either null, none or anonymous).
    `static boolean` | `isNoneAddress(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` | `setJAXBContext(JAXBContext ctx)` Set the encapsulated JAXBContext (used by unit tests).
    `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 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 AttributedURIType getAttributedURI(String uri)

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

    - #### getRelatesTo

          public static 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(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(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(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.

    - #### getJAXBContext

          public static JAXBContext getJAXBContext()
                                            throws JAXBException

      Retrieve a JAXBContext for marshalling and unmarshalling JAXB generated types.
      Returns:
        a JAXBContext
      Throws:
        `JAXBException`

    - #### setJAXBContext

          public static void setJAXBContext(JAXBContext ctx)
                                     throws JAXBException

      Set the encapsulated JAXBContext (used by unit tests).
      Parameters:
        `ctx` - JAXBContext
      Throws:
        `JAXBException`

    - #### 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 EndpointReferenceType getNoneEndpointReference()

    - #### applyReferenceParam

          public static void applyReferenceParam(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,
                                               EndpointReferenceType reference)

Apache CXF