org.apache.ode.bpel.common
Class CorrelationKey

java.lang.Object
  extended by org.apache.ode.bpel.common.CorrelationKey
All Implemented Interfaces:
java.io.Serializable

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
CorrelationKey(int csetId, java.lang.String[] keyValues)
          Constructor.
CorrelationKey(java.lang.String canonicalForm)
           
 
Method Summary
 boolean equals(java.lang.Object o)
          Equals comperator method.
 int getCSetId()
          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.
 boolean isUnique()
          Is this correlation key system-wide unique?
 void setUnique(boolean unique)
           
 java.util.List<java.lang.String> toCanonicalList()
           
 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(int csetId,
                      java.lang.String[] keyValues)
Constructor.

Parameters:
csetId - correlation set identifier
keyValues - correlation key values

CorrelationKey

public CorrelationKey(java.lang.String canonicalForm)
Method Detail

getCSetId

public int getCSetId()
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

isUnique

public boolean isUnique()
Is this correlation key system-wide unique?

Returns:
true if the key is declared to be unique otherwise false

setUnique

public void setUnique(boolean unique)

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

toCanonicalList

public java.util.List<java.lang.String> toCanonicalList()

toString

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

toCanonicalString

public java.lang.String toCanonicalString()