01: package org.compass.core.converter.dynamic;
02:
03: import org.compass.core.converter.ConversionException;
04: import org.compass.core.mapping.ResourcePropertyMapping;
05:
06: /**
07: * A general abstraction on top of an expression evaluator, mainly used with
08: * {@link ThreadSafeExpressionEvaluator}
09: *
10: * @author kimchy
11: */
12: public interface ExpressionEvaluator {
13:
14: /**
15: * Evaluates an expression.
16: *
17: * @param o The data object to be used in the expression
18: * @param resourcePropertyMapping The resource mapping
19: * @return The evaluated object
20: * @throws ConversionException
21: */
22: Object evaluate(Object o,
23: ResourcePropertyMapping resourcePropertyMapping)
24: throws ConversionException;
25: }
|