org.apache.camel.processor.resequencer
Class DefaultExchangeComparator

java.lang.Object
  extended by org.apache.camel.processor.resequencer.DefaultExchangeComparator
All Implemented Interfaces:
Comparator<Exchange>, ExpressionResultComparator<Exchange>, SequenceElementComparator<Exchange>

public class DefaultExchangeComparator
extends Object
implements ExpressionResultComparator<Exchange>

Compares elements of an Exchange sequence by comparing long values returned by this comaprator's expression. The expression is set during route definition e.g.

    ...resequencer(header("seqnum")).stream()...
 

Version:
$Revision: 35332 $
Author:
Martin Krasser

Constructor Summary
DefaultExchangeComparator()
           
 
Method Summary
 int compare(Exchange o1, Exchange o2)
           
 Expression<Exchange> getExpression()
           
 boolean predecessor(Exchange o1, Exchange o2)
          Returns true if o1 is an immediate predecessor of o2.
 void setExpression(Expression<Exchange> expression)
           
 void setExpressions(List<Expression> expressions)
          Sets the list expressions used for comparing Exchanges.
 boolean successor(Exchange o1, Exchange 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
 

Constructor Detail

DefaultExchangeComparator

public DefaultExchangeComparator()
Method Detail

getExpression

public Expression<Exchange> getExpression()

setExpression

public void setExpression(Expression<Exchange> expression)

setExpressions

public void setExpressions(List<Expression> expressions)
Description copied from interface: ExpressionResultComparator
Sets the list expressions used for comparing Exchanges.

Specified by:
setExpressions in interface ExpressionResultComparator<Exchange>
Parameters:
expressions - a list of Expression objects.

predecessor

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

Specified by:
predecessor in interface SequenceElementComparator<Exchange>
Parameters:
o1 - a sequence element.
o2 - a sequence element.

successor

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

Specified by:
successor in interface SequenceElementComparator<Exchange>
Parameters:
o1 - a sequence element.
o2 - a sequence element.

compare

public int compare(Exchange o1,
                   Exchange o2)
Specified by:
compare in interface Comparator<Exchange>


Copyright © 2008 IONA Open Source Community. All Rights Reserved.