[richfaces-svn-commits] JBoss Rich Faces SVN: r2607 - trunk/ui/scrollableDataTable/src/main/java/org/richfaces/model/internal.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Thu Aug 30 09:24:36 EDT 2007


Author: maksimkaszynski
Date: 2007-08-30 09:24:36 -0400 (Thu, 30 Aug 2007)
New Revision: 2607

Added:
   trunk/ui/scrollableDataTable/src/main/java/org/richfaces/model/internal/ValueBindingExpression.java
Log:
RF-734

Added: trunk/ui/scrollableDataTable/src/main/java/org/richfaces/model/internal/ValueBindingExpression.java
===================================================================
--- trunk/ui/scrollableDataTable/src/main/java/org/richfaces/model/internal/ValueBindingExpression.java	                        (rev 0)
+++ trunk/ui/scrollableDataTable/src/main/java/org/richfaces/model/internal/ValueBindingExpression.java	2007-08-30 13:24:36 UTC (rev 2607)
@@ -0,0 +1,42 @@
+package org.richfaces.model.internal;
+
+import java.util.Map;
+
+import javax.faces.context.FacesContext;
+import javax.faces.el.ValueBinding;
+
+/**
+ * 
+ * Expression evaluated by invoking EL-expression in context of base object
+ * 
+ * @author Maksim Kaszynski
+ *
+ */
+final class ValueBindingExpression extends Expression {
+	private final FacesContext context;
+	
+	private Map requestMap;
+	private String var;
+	private ValueBinding binding;
+
+	/**
+	 * @param n
+	 * @param application
+	 * @param requestMap
+	 * @param expressionString
+	 * @param context
+	 * @param var
+	 */
+	ValueBindingExpression(FacesContext context, String expressionString, String var) {
+		super(expressionString);
+		this.context = context;
+		this.var = var;
+		binding = context.getApplication().createValueBinding(expressionString);
+		requestMap = context.getExternalContext().getRequestMap();
+	}
+
+	public Object evaluate(Object base) {
+		requestMap.put(var, base);
+		return binding.getValue(context);
+	}
+}
\ No newline at end of file




More information about the richfaces-svn-commits mailing list