-1

我需要测试谓词对象是否与各种表达式语言的交换相匹配。我需要知道我需要设置什么交换值来交换来验证谓词。

public void test() { 
   String expression="//orders/value>10"'; 
   CamelContext context = new DefaultCamelContext(); 
   Predicate predicate=new JXpathExpression(expression,boolean.class); 
   Exchange exchange = new DefaultExchange(context); 
   Message in = exchange.getIn(); 
   in.setBody(""); // how i need to set the message in exchange in order to evaluate it against predicate 
   exchange.setIn(in); 
   boolean check=predicate.matches(exchange); 
} 

对于 JXPath,谓词对象JXpath[//orders/value>10]在我使用predicate.toString().

如何设置交换以便可以验证此表达式?

4

1 回答 1

2

JXPath 适用于 java 对象。所以你必须在消息体中设置一个合适的对象。如果您在那里设置的对象有 o.getOrders().getValue() 并返回一个 > 10 的数值,那么谓词应该评估为真。

于 2012-04-12T05:29:38.053 回答