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

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

public class DefaultComparator
extends 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 String SEQUENCE_NUMBER_KEY
           
 
Constructor Summary
DefaultComparator()
           
 
Method Summary
 int compare(javax.jbi.messaging.MessageExchange o1, javax.jbi.messaging.MessageExchange o2)
           
 String getSequenceNumberKey()
           
 boolean isSequenceNumberAsString()
           
 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)
           
 void setSequenceNumberKey(String sequenceNumberPropertyName)
           
 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 String SEQUENCE_NUMBER_KEY
See Also:
Constant Field Values
Constructor Detail

DefaultComparator

public DefaultComparator()
Method Detail

getSequenceNumberKey

public String getSequenceNumberKey()

setSequenceNumberKey

public void setSequenceNumberKey(String sequenceNumberPropertyName)

isSequenceNumberAsString

public boolean isSequenceNumberAsString()

setSequenceNumberAsString

public void setSequenceNumberAsString(boolean sequenceNumberAsString)

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 Comparator<javax.jbi.messaging.MessageExchange>


Copyright © 2005-2008 Apache Software Foundation. All Rights Reserved.