org.apache.camel.processor.resequencer
Class DefaultExchangeComparator

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

public class DefaultExchangeComparator
extends Object
implements ExpressionResultComparator

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: 743330 $
Author:
Martin Krasser

Constructor Summary
DefaultExchangeComparator()
           
 
Method Summary
 int compare(Exchange o1, Exchange o2)
           
 Expression getExpression()
           
 boolean predecessor(Exchange o1, Exchange o2)
          Returns true if o1 is an immediate predecessor of o2.
 void setExpression(Expression 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 getExpression()

setExpression

public void setExpression(Expression 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
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.
Returns:
true if its an immediate predecessor

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.
Returns:
true if its an immediate sucessor

compare

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


Copyright © 2009 Apache Software Foundation. All Rights Reserved.