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