org.apache.servicemix.eip.support.resequence
Class DefaultComparator

java.lang.Object
  extended by org.apache.servicemix.eip.support.resequence.DefaultComparator
All Implemented Interfaces:
java.util.Comparator<javax.jbi.messaging.MessageExchange>, SequenceElementComparator<javax.jbi.messaging.MessageExchange>

public class DefaultComparator
extends java.lang.Object
implements SequenceElementComparator<javax.jbi.messaging.MessageExchange>

Compares MessageExchange sequence elements based on sequence numbers defined by their in-NormalizedMessages. This comparator works on sequence numbers of type Long. Sequence numbers must be stored as NormalizedMessage properties. The property name under which the sequence number is stored is configured via this comparator's sequenceNumberKey property.

Author:
Martin Krasser

Field Summary
static java.lang.String SEQUENCE_NUMBER_KEY
           
 
Constructor Summary
DefaultComparator()
           
 
Method Summary
 int compare(javax.jbi.messaging.MessageExchange o1, javax.jbi.messaging.MessageExchange o2)
           
 java.lang.String getSequenceNumberKey()
           
 boolean predecessor(javax.jbi.messaging.MessageExchange o1, javax.jbi.messaging.MessageExchange o2)
          Returns true if o1 is an immediate predecessor of o2.
 void setSequenceNumberAsString(boolean sequenceNumberAsString)
          Deprecated. 
 void setSequenceNumberKey(java.lang.String sequenceNumberPropertyName)
          The property name on the input message containing the sequence number
 boolean successor(javax.jbi.messaging.MessageExchange o1, javax.jbi.messaging.MessageExchange o2)
          Returns true if o1 is an immediate successor of o2.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Comparator
equals
 

Field Detail

SEQUENCE_NUMBER_KEY

public static final java.lang.String SEQUENCE_NUMBER_KEY
See Also:
Constant Field Values
Constructor Detail

DefaultComparator

public DefaultComparator()
Method Detail

getSequenceNumberKey

public java.lang.String getSequenceNumberKey()

setSequenceNumberKey

public void setSequenceNumberKey(java.lang.String sequenceNumberPropertyName)
The property name on the input message containing the sequence number

Parameters:
sequenceNumberPropertyName -

setSequenceNumberAsString

@Deprecated
public void setSequenceNumberAsString(boolean sequenceNumberAsString)
Deprecated. 


predecessor

public boolean predecessor(javax.jbi.messaging.MessageExchange o1,
                           javax.jbi.messaging.MessageExchange o2)
Description copied from interface: SequenceElementComparator
Returns true if o1 is an immediate predecessor of o2.

Specified by:
predecessor in interface SequenceElementComparator<javax.jbi.messaging.MessageExchange>
Parameters:
o1 - a sequence element.
o2 - a sequence element.

successor

public boolean successor(javax.jbi.messaging.MessageExchange o1,
                         javax.jbi.messaging.MessageExchange o2)
Description copied from interface: SequenceElementComparator
Returns true if o1 is an immediate successor of o2.

Specified by:
successor in interface SequenceElementComparator<javax.jbi.messaging.MessageExchange>
Parameters:
o1 - a sequence element.
o2 - a sequence element.

compare

public int compare(javax.jbi.messaging.MessageExchange o1,
                   javax.jbi.messaging.MessageExchange o2)
Specified by:
compare in interface java.util.Comparator<javax.jbi.messaging.MessageExchange>


Copyright © 2005-2011 FuseSource. All Rights Reserved.