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 final String`
  `ACTION`
  `static final org.apache.cxf.ws.addressing.ObjectFactory`
  `WSA_OBJECT_FACTORY`

- ## Method Summary

  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 Details

  - ### WSA_OBJECT_FACTORY

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

  - ### ACTION

    public static final String ACTION

- ## Method Details

  - ### 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)