org.apache.ode.bpel.common

## Class CorrelationKey

- java.lang.Object
- - org.apache.ode.bpel.common.CorrelationKey

- All Implemented Interfaces:
    java.io.Serializable
  Direct Known Subclasses:
    OptionalCorrelationKey

      public class CorrelationKey
      extends java.lang.Object
      implements java.io.Serializable

  Message correlation key. Correlation keys are used to match up incoming messages with a particular process instance. The basic procedure is to generate and save a correlation key when a `receive` or `pick activity is activated, and then to match incoming messages against all correlation keys so saved, finally associating the message with the process instance that had the matching correlation key. In reality this process is somewhat more complicated as pains must be taken to avoid race conditions and to make the matching efficient.`

  The correlation keys used in the above process consists of a collection of name-value pairs, with the name corresponding to a property name (as defined using the `<property>` element of the BPEL process document) and with the value corresponding to the value of said property as obtained from a message by means of a property alias (as defined using the `<propertyAlias;>` BPEL process document element).

  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `CorrelationKey(java.lang.String canonicalForm)`
    `CorrelationKey(java.lang.String csetName, java.lang.String[] keyValues)` Constructor.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(java.lang.Object o)` Equals comperator method.
    `java.lang.String` | `getCorrelationSetName()` Return the OCorrelation id for the correlation set
    `java.lang.String[]` | `getValues()` Return the values for the correlation set
    `int` | `hashCode()` Generate a hash code from the hash codes of the elements.
    `boolean` | `isMatch(CorrelationKey[] keys)` Check if this key matches any member in a set of keys.
    `java.lang.String` | `toCanonicalString()`
    `java.lang.String` | `toString()`

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### CorrelationKey

          public CorrelationKey(java.lang.String csetName,
                        java.lang.String[] keyValues)

      Constructor.
      Parameters:
        `csetName` - correlation set identifier
        `keyValues` - correlation key values

    - #### CorrelationKey

          public CorrelationKey(java.lang.String canonicalForm)

  - ### Method Detail

    - #### getCorrelationSetName

          public java.lang.String getCorrelationSetName()

      Return the OCorrelation id for the correlation set

    - #### getValues

          public java.lang.String[] getValues()

      Return the values for the correlation set

    - #### isMatch

          public boolean isMatch(CorrelationKey[] keys)

      Check if this key matches any member in a set of keys.
      Parameters:
        `keys` - set of keys to match against
      Returns:
        `true` if one of the keys in the set `equals(..)` this key, `false` otherwise

    - #### equals

          public boolean equals(java.lang.Object o)

      Equals comperator method.
      Overrides:
        `equals` in class `java.lang.Object`
      Parameters:
        `o` - `CorrelationKey` object to compare with
      Returns:
        `true` if the given object

    - #### hashCode

          public int hashCode()

      Generate a hash code from the hash codes of the elements.
      Overrides:
        `hashCode` in class `java.lang.Object`
      See Also:
        `AbstractMap.hashCode()`, `Object.hashCode()`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`
      See Also:
        `Object.toString()`

    - #### toCanonicalString

          public java.lang.String toCanonicalString()