package org.docbag.expression; import org.docbag.expression.evaluator.ExpressionEvaluator; /** * Implementation of {@link ExpressionFactory}. * * <p>This implementation creates {@link RuntimeExpression} instances and assigns an * {@link ExpressionEvaluator} to it.</p> * * @author Jakub Torbicki */ public class RuntimeExpressionFactory<S, R> implements ExpressionFactory<S, R> { private final ExpressionEvaluator<S, R> evaluator; public RuntimeExpressionFactory(ExpressionEvaluator<S, R> evaluator) { this.evaluator = evaluator; } /** * @see ExpressionFactory#createExpression(Object) */ public Expression<S, R> createExpression(S e) { return new RuntimeExpression<S, R>(e, evaluator); } }