View Javadoc

1   /*
2    * $Id: ExpressionEvaluator.java 11231 2008-03-06 21:17:37Z rossmason $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
9    */
10  
11  package org.mule.util.expression;
12  
13  import org.mule.api.NamedObject;
14  
15  /**
16   * <code>ExpressionEvaluator</code> extracts a property from the message in a generic
17   * way. i.e. composite properties can be pulled and aggregated depending on this
18   * strategy. This can be used to extract Correlation Ids, Message Ids etc.
19   *
20   * These objects are used to execute property expressions (usually on the
21   * current message) at runtime to extracta dynamic value.
22   */
23  public interface ExpressionEvaluator extends NamedObject
24  {
25      /**
26       * Extracts a single property from the message
27       * 
28       * @param expression the property expression or expression
29       * @param message the message to extract from
30       * @return the result of the extraction or null if the property was not found
31       */
32      Object evaluate(String expression, Object message);
33  
34  }