[jboss-svn-commits] JBL Code SVN: r9795 - labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Feb 26 20:36:14 EST 2007


Author: mark.proctor at jboss.com
Date: 2007-02-26 20:36:14 -0500 (Mon, 26 Feb 2007)
New Revision: 9795

Added:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/MVELPredicateExpression.java
Log:
JBRULES-708 MVEL Integration
-More interface/implementation seperation for dialects

Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/MVELPredicateExpression.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/MVELPredicateExpression.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/MVELPredicateExpression.java	2007-02-27 01:36:14 UTC (rev 9795)
@@ -0,0 +1,36 @@
+package org.drools.base.mvel;
+
+import java.io.Serializable;
+
+import org.drools.WorkingMemory;
+import org.drools.base.DroolsMVELFactory;
+import org.drools.rule.Declaration;
+import org.drools.spi.EvalExpression;
+import org.drools.spi.PredicateExpression;
+import org.drools.spi.Tuple;
+import org.mvel.MVEL;
+
+public class MVELPredicateExpression
+    implements
+    PredicateExpression {
+    
+    private final Serializable expr;
+    private final DroolsMVELFactory factory;
+    
+    public MVELPredicateExpression(final Serializable expr,
+                              final DroolsMVELFactory factory) {
+        this.expr = expr;
+        this.factory = factory;
+    }
+
+    public boolean evaluate(Object object, 
+                            Tuple tuple,
+                            Declaration[] previousDeclarations,
+                            Declaration[] requiredDeclarations,
+                            WorkingMemory workingMemory) throws Exception {                
+        factory.setContext( tuple, workingMemory );   
+        Boolean result = ( Boolean ) MVEL.executeExpression(this.expr, factory);        
+        return result.booleanValue(); 
+    }
+
+}




More information about the jboss-svn-commits mailing list