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 }