From 99c4ba5ffa5e44b821831256de04f1330c4d53fb Mon Sep 17 00:00:00 2001 From: Keith Donald Date: Tue, 4 Mar 2008 00:37:39 +0000 Subject: [PATCH] added a convenience utility --- .../support/AbstractGetValueExpression.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 spring-binding/src/main/java/org/springframework/binding/expression/support/AbstractGetValueExpression.java diff --git a/spring-binding/src/main/java/org/springframework/binding/expression/support/AbstractGetValueExpression.java b/spring-binding/src/main/java/org/springframework/binding/expression/support/AbstractGetValueExpression.java new file mode 100644 index 00000000..72c31a8f --- /dev/null +++ b/spring-binding/src/main/java/org/springframework/binding/expression/support/AbstractGetValueExpression.java @@ -0,0 +1,22 @@ +package org.springframework.binding.expression.support; + +import org.springframework.binding.expression.EvaluationException; +import org.springframework.binding.expression.Expression; + +/** + * Trivial helper for concrete expression types that do not support setting their values. Simply throws an unsupported + * operation exception if {@link #setValue(Object, Object)} is called. + * + * Subclasses must implement {@link #getValue(Object)}. + * + * @author Keith Donald + */ +public abstract class AbstractGetValueExpression implements Expression { + + public abstract Object getValue(Object context) throws EvaluationException; + + public void setValue(Object context, Object value) throws EvaluationException { + throw new UnsupportedOperationException("Setting this expression's value is not supported"); + } + +}