[jboss-svn-commits] JBL Code SVN: r7009 - in labs/jbossrules/trunk/drools-core/src/main/java/org/drools: base/evaluators common reteoo rule spi util

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Oct 22 17:11:40 EDT 2006


Author: tirelli
Date: 2006-10-22 17:11:12 -0400 (Sun, 22 Oct 2006)
New Revision: 7009

Added:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/LiteralContextEntry.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/VariableContextEntry.java
Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ArrayFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/BigDecimalFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/BigIntegerFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/BooleanFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ByteFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/CharacterFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/DateFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/DoubleFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/FactTemplateFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/FloatFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/IntegerFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/LongFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ObjectFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ShortFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/StringFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ActivationGroupImpl.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DefaultAgenda.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ScheduledAgendaItem.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/CompositeObjectSinkAdapter.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/FromNode.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/LiteralConstraint.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/LiteralRestriction.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/VariableConstraint.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/VariableRestriction.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/ActivationGroup.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Evaluator.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Restriction.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/AbstractBaseLinkedListNode.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/LinkedList.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/LinkedListEntry.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/LinkedListNode.java
Log:
Fixing iterators and updating restriction classes

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ArrayFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ArrayFactory.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ArrayFactory.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -20,8 +20,8 @@
 
 import org.drools.base.BaseEvaluator;
 import org.drools.base.ValueType;
-import org.drools.rule.VariableConstraint.ObjectVariableContextEntry;
-import org.drools.rule.VariableConstraint.VariableContextEntry;
+import org.drools.rule.VariableContextEntry;
+import org.drools.rule.VariableRestriction.ObjectVariableContextEntry;
 import org.drools.spi.Evaluator;
 import org.drools.spi.Extractor;
 import org.drools.spi.FieldValue;
@@ -98,7 +98,7 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final Object value = context.declaration.getExtractor().getValue( left );
+            final Object value = context.getVariableDeclaration().getExtractor().getValue( left );
             if ( value == null ) {
                 return ((ObjectVariableContextEntry) context).right == null;
             }
@@ -107,7 +107,7 @@
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            final Object value = context.extractor.getValue( right );
+            final Object value = context.getFieldExtractor().getValue( right );
             if ( ((ObjectVariableContextEntry) context).left == null ) {
                 return value == null;
             }
@@ -155,7 +155,7 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final Object value = context.declaration.getExtractor().getValue( left );
+            final Object value = context.getVariableDeclaration().getExtractor().getValue( left );
             if ( value == null ) {
                 return ((ObjectVariableContextEntry) context).right == null;
             }
@@ -164,7 +164,7 @@
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            final Object value = context.extractor.getValue( right );
+            final Object value = context.getFieldExtractor().getValue( right );
             if ( ((ObjectVariableContextEntry) context).left == null ) {
                 return value == null;
             }
@@ -216,7 +216,7 @@
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
             final Object value = ((ObjectVariableContextEntry) context).right;
-            final Object[] array = (Object[]) context.declaration.getExtractor().getValue( left );
+            final Object[] array = (Object[]) context.getVariableDeclaration().getExtractor().getValue( left );
             if ( Arrays.binarySearch( array,
                                       value ) == -1 ) {
                 return false;
@@ -226,7 +226,7 @@
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            final Object value = context.extractor.getValue( right );
+            final Object value = context.getFieldExtractor().getValue( right );
             final Object[] array = (Object[]) ((ObjectVariableContextEntry) context).left;
             if ( Arrays.binarySearch( array,
                                       value ) == -1 ) {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/BigDecimalFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/BigDecimalFactory.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/BigDecimalFactory.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -20,8 +20,8 @@
 
 import org.drools.base.BaseEvaluator;
 import org.drools.base.ValueType;
-import org.drools.rule.VariableConstraint.ObjectVariableContextEntry;
-import org.drools.rule.VariableConstraint.VariableContextEntry;
+import org.drools.rule.VariableContextEntry;
+import org.drools.rule.VariableRestriction.ObjectVariableContextEntry;
 import org.drools.spi.Evaluator;
 import org.drools.spi.Extractor;
 import org.drools.spi.FieldValue;
@@ -98,7 +98,7 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final Object value = context.declaration.getExtractor().getValue( left );
+            final Object value = context.getVariableDeclaration().getExtractor().getValue( left );
             if ( value == null ) {
                 return ((ObjectVariableContextEntry) context).right == null;
             }
@@ -107,7 +107,7 @@
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            final Object value = context.extractor.getValue( right );
+            final Object value = context.getFieldExtractor().getValue( right );
             if ( ((ObjectVariableContextEntry) context).left == null ) {
                 return value == null;
             }
@@ -155,7 +155,7 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final Object value = context.declaration.getExtractor().getValue( left );
+            final Object value = context.getVariableDeclaration().getExtractor().getValue( left );
             if ( value == null ) {
                 return ((ObjectVariableContextEntry) context).right != null;
             }
@@ -164,7 +164,7 @@
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            final Object value = context.extractor.getValue( right );
+            final Object value = context.getFieldExtractor().getValue( right );
             if ( ((ObjectVariableContextEntry) context).left == null ) {
                 return value != null;
             }
@@ -204,14 +204,14 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final BigDecimal comp = (BigDecimal) context.declaration.getExtractor().getValue( left );
+            final BigDecimal comp = (BigDecimal) context.getVariableDeclaration().getExtractor().getValue( left );
             return comp.compareTo( ((ObjectVariableContextEntry) context).right ) < 0;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
             final BigDecimal comp = (BigDecimal) ((ObjectVariableContextEntry) context).left;
-            return comp.compareTo( context.extractor.getValue( right ) ) < 0;
+            return comp.compareTo( context.getFieldExtractor().getValue( right ) ) < 0;
         }
 
         public String toString() {
@@ -247,14 +247,14 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final BigDecimal comp = (BigDecimal) context.declaration.getExtractor().getValue( left );
+            final BigDecimal comp = (BigDecimal) context.getVariableDeclaration().getExtractor().getValue( left );
             return comp.compareTo( ((ObjectVariableContextEntry) context).right ) <= 0;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
             final BigDecimal comp = (BigDecimal) ((ObjectVariableContextEntry) context).left;
-            return comp.compareTo( context.extractor.getValue( right ) ) <= 0;
+            return comp.compareTo( context.getFieldExtractor().getValue( right ) ) <= 0;
         }
 
         public String toString() {
@@ -290,14 +290,14 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final BigDecimal comp = (BigDecimal) context.declaration.getExtractor().getValue( left );
+            final BigDecimal comp = (BigDecimal) context.getVariableDeclaration().getExtractor().getValue( left );
             return comp.compareTo( ((ObjectVariableContextEntry) context).right ) > 0;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
             final BigDecimal comp = (BigDecimal) ((ObjectVariableContextEntry) context).left;
-            return comp.compareTo( context.extractor.getValue( right ) ) > 0;
+            return comp.compareTo( context.getFieldExtractor().getValue( right ) ) > 0;
         }
 
         public String toString() {
@@ -333,14 +333,14 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final BigDecimal comp = (BigDecimal) context.declaration.getExtractor().getValue( left );
+            final BigDecimal comp = (BigDecimal) context.getVariableDeclaration().getExtractor().getValue( left );
             return comp.compareTo( ((ObjectVariableContextEntry) context).right ) >= 0;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
             final BigDecimal comp = (BigDecimal) ((ObjectVariableContextEntry) context).left;
-            return comp.compareTo( context.extractor.getValue( right ) ) >= 0;
+            return comp.compareTo( context.getFieldExtractor().getValue( right ) ) >= 0;
         }
 
         public String toString() {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/BigIntegerFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/BigIntegerFactory.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/BigIntegerFactory.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -20,8 +20,8 @@
 
 import org.drools.base.BaseEvaluator;
 import org.drools.base.ValueType;
-import org.drools.rule.VariableConstraint.ObjectVariableContextEntry;
-import org.drools.rule.VariableConstraint.VariableContextEntry;
+import org.drools.rule.VariableContextEntry;
+import org.drools.rule.VariableRestriction.ObjectVariableContextEntry;
 import org.drools.spi.Evaluator;
 import org.drools.spi.Extractor;
 import org.drools.spi.FieldValue;
@@ -98,7 +98,7 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final Object value = context.declaration.getExtractor().getValue( left );
+            final Object value = context.getVariableDeclaration().getExtractor().getValue( left );
             if ( value == null ) {
                 return ((ObjectVariableContextEntry) context).right == null;
             }
@@ -107,7 +107,7 @@
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            final Object value = context.extractor.getValue( right );
+            final Object value = context.getFieldExtractor().getValue( right );
             if ( ((ObjectVariableContextEntry) context).left == null ) {
                 return value == null;
             }
@@ -155,7 +155,7 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final Object value = context.declaration.getExtractor().getValue( left );
+            final Object value = context.getVariableDeclaration().getExtractor().getValue( left );
             if ( value == null ) {
                 return ((ObjectVariableContextEntry) context).right != null;
             }
@@ -164,7 +164,7 @@
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            final Object value = context.extractor.getValue( right );
+            final Object value = context.getFieldExtractor().getValue( right );
             if ( ((ObjectVariableContextEntry) context).left == null ) {
                 return value != null;
             }
@@ -204,14 +204,14 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final BigInteger comp = (BigInteger) context.declaration.getExtractor().getValue( left );
+            final BigInteger comp = (BigInteger) context.getVariableDeclaration().getExtractor().getValue( left );
             return comp.compareTo( ((ObjectVariableContextEntry) context).right ) < 0;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
             final BigInteger comp = (BigInteger) ((ObjectVariableContextEntry) context).left;
-            return comp.compareTo( context.extractor.getValue( right ) ) < 0;
+            return comp.compareTo( context.getFieldExtractor().getValue( right ) ) < 0;
         }
 
         public String toString() {
@@ -247,14 +247,14 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final BigInteger comp = (BigInteger) context.declaration.getExtractor().getValue( left );
+            final BigInteger comp = (BigInteger) context.getVariableDeclaration().getExtractor().getValue( left );
             return comp.compareTo( ((ObjectVariableContextEntry) context).right ) <= 0;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
             final BigInteger comp = (BigInteger) ((ObjectVariableContextEntry) context).left;
-            return comp.compareTo( context.extractor.getValue( right ) ) <= 0;
+            return comp.compareTo( context.getFieldExtractor().getValue( right ) ) <= 0;
         }
 
         public String toString() {
@@ -290,14 +290,14 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final BigInteger comp = (BigInteger) context.declaration.getExtractor().getValue( left );
+            final BigInteger comp = (BigInteger) context.getVariableDeclaration().getExtractor().getValue( left );
             return comp.compareTo( ((ObjectVariableContextEntry) context).right ) > 0;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
             final BigInteger comp = (BigInteger) ((ObjectVariableContextEntry) context).left;
-            return comp.compareTo( context.extractor.getValue( right ) ) > 0;
+            return comp.compareTo( context.getFieldExtractor().getValue( right ) ) > 0;
         }
 
         public String toString() {
@@ -333,14 +333,14 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final BigInteger comp = (BigInteger) context.declaration.getExtractor().getValue( left );
+            final BigInteger comp = (BigInteger) context.getVariableDeclaration().getExtractor().getValue( left );
             return comp.compareTo( ((ObjectVariableContextEntry) context).right ) >= 0;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
             final BigInteger comp = (BigInteger) ((ObjectVariableContextEntry) context).left;
-            return comp.compareTo( context.extractor.getValue( right ) ) >= 0;
+            return comp.compareTo( context.getFieldExtractor().getValue( right ) ) >= 0;
         }
 
         public String toString() {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/BooleanFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/BooleanFactory.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/BooleanFactory.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -18,8 +18,8 @@
 
 import org.drools.base.BaseEvaluator;
 import org.drools.base.ValueType;
-import org.drools.rule.VariableConstraint.BooleanVariableContextEntry;
-import org.drools.rule.VariableConstraint.VariableContextEntry;
+import org.drools.rule.VariableContextEntry;
+import org.drools.rule.VariableRestriction.BooleanVariableContextEntry;
 import org.drools.spi.Evaluator;
 import org.drools.spi.Extractor;
 import org.drools.spi.FieldValue;
@@ -78,12 +78,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getBooleanValue( left ) == ((BooleanVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getBooleanValue( left ) == ((BooleanVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object object2) {
-            return context.extractor.getBooleanValue( object2 ) == ((BooleanVariableContextEntry) context).left;
+            return context.getFieldExtractor().getBooleanValue( object2 ) == ((BooleanVariableContextEntry) context).left;
         }
 
         public String toString() {
@@ -117,12 +117,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getBooleanValue( left ) != ((BooleanVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getBooleanValue( left ) != ((BooleanVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object object2) {
-            return context.extractor.getBooleanValue( object2 ) != ((BooleanVariableContextEntry) context).left;
+            return context.getFieldExtractor().getBooleanValue( object2 ) != ((BooleanVariableContextEntry) context).left;
         }
 
         public String toString() {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ByteFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ByteFactory.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ByteFactory.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -18,8 +18,8 @@
 
 import org.drools.base.BaseEvaluator;
 import org.drools.base.ValueType;
-import org.drools.rule.VariableConstraint.LongVariableContextEntry;
-import org.drools.rule.VariableConstraint.VariableContextEntry;
+import org.drools.rule.VariableContextEntry;
+import org.drools.rule.VariableRestriction.LongVariableContextEntry;
 import org.drools.spi.Evaluator;
 import org.drools.spi.Extractor;
 import org.drools.spi.FieldValue;
@@ -86,12 +86,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getByteValue( left ) == ((LongVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getByteValue( left ) == ((LongVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            return ((LongVariableContextEntry) context).left == context.extractor.getByteValue( right );
+            return ((LongVariableContextEntry) context).left == context.getFieldExtractor().getByteValue( right );
         }
 
         public String toString() {
@@ -125,12 +125,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getByteValue( left ) != ((LongVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getByteValue( left ) != ((LongVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            return ((LongVariableContextEntry) context).left != context.extractor.getByteValue( right );
+            return ((LongVariableContextEntry) context).left != context.getFieldExtractor().getByteValue( right );
         }
 
         public String toString() {
@@ -164,12 +164,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getByteValue( left ) < ((LongVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getByteValue( left ) < ((LongVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            return ((LongVariableContextEntry) context).left < context.extractor.getByteValue( right );
+            return ((LongVariableContextEntry) context).left < context.getFieldExtractor().getByteValue( right );
         }
 
         public String toString() {
@@ -203,12 +203,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getByteValue( left ) <= ((LongVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getByteValue( left ) <= ((LongVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            return ((LongVariableContextEntry) context).left <= context.extractor.getByteValue( right );
+            return ((LongVariableContextEntry) context).left <= context.getFieldExtractor().getByteValue( right );
         }
 
         public String toString() {
@@ -242,12 +242,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getByteValue( left ) > ((LongVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getByteValue( left ) > ((LongVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            return ((LongVariableContextEntry) context).left > context.extractor.getByteValue( right );
+            return ((LongVariableContextEntry) context).left > context.getFieldExtractor().getByteValue( right );
         }
 
         public String toString() {
@@ -281,12 +281,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getByteValue( left ) >= ((LongVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getByteValue( left ) >= ((LongVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            return ((LongVariableContextEntry) context).left >= context.extractor.getByteValue( right );
+            return ((LongVariableContextEntry) context).left >= context.getFieldExtractor().getByteValue( right );
         }
 
         public String toString() {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/CharacterFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/CharacterFactory.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/CharacterFactory.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -18,8 +18,8 @@
 
 import org.drools.base.BaseEvaluator;
 import org.drools.base.ValueType;
-import org.drools.rule.VariableConstraint.LongVariableContextEntry;
-import org.drools.rule.VariableConstraint.VariableContextEntry;
+import org.drools.rule.VariableContextEntry;
+import org.drools.rule.VariableRestriction.LongVariableContextEntry;
 import org.drools.spi.Evaluator;
 import org.drools.spi.Extractor;
 import org.drools.spi.FieldValue;
@@ -86,12 +86,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getCharValue( left ) == ((LongVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getCharValue( left ) == ((LongVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            return ((LongVariableContextEntry) context).left == context.extractor.getCharValue( right );
+            return ((LongVariableContextEntry) context).left == context.getFieldExtractor().getCharValue( right );
         }
 
         public String toString() {
@@ -125,12 +125,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getCharValue( left ) != ((LongVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getCharValue( left ) != ((LongVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            return ((LongVariableContextEntry) context).left != context.extractor.getCharValue( right );
+            return ((LongVariableContextEntry) context).left != context.getFieldExtractor().getCharValue( right );
         }
 
         public String toString() {
@@ -164,12 +164,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getCharValue( left ) < ((LongVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getCharValue( left ) < ((LongVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            return ((LongVariableContextEntry) context).left < context.extractor.getCharValue( right );
+            return ((LongVariableContextEntry) context).left < context.getFieldExtractor().getCharValue( right );
         }
 
         public String toString() {
@@ -203,12 +203,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getCharValue( left ) <= ((LongVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getCharValue( left ) <= ((LongVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            return ((LongVariableContextEntry) context).left <= context.extractor.getCharValue( right );
+            return ((LongVariableContextEntry) context).left <= context.getFieldExtractor().getCharValue( right );
         }
 
         public String toString() {
@@ -242,12 +242,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getCharValue( left ) > ((LongVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getCharValue( left ) > ((LongVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            return ((LongVariableContextEntry) context).left > context.extractor.getCharValue( right );
+            return ((LongVariableContextEntry) context).left > context.getFieldExtractor().getCharValue( right );
         }
 
         public String toString() {
@@ -281,12 +281,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getCharValue( left ) >= ((LongVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getCharValue( left ) >= ((LongVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            return ((LongVariableContextEntry) context).left >= context.extractor.getCharValue( right );
+            return ((LongVariableContextEntry) context).left >= context.getFieldExtractor().getCharValue( right );
         }
 
         public String toString() {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/DateFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/DateFactory.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/DateFactory.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -22,8 +22,8 @@
 
 import org.drools.base.BaseEvaluator;
 import org.drools.base.ValueType;
-import org.drools.rule.VariableConstraint.ObjectVariableContextEntry;
-import org.drools.rule.VariableConstraint.VariableContextEntry;
+import org.drools.rule.VariableContextEntry;
+import org.drools.rule.VariableRestriction.ObjectVariableContextEntry;
 import org.drools.spi.Evaluator;
 import org.drools.spi.Extractor;
 import org.drools.spi.FieldValue;
@@ -121,7 +121,7 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final Date value1 = (Date) context.declaration.getExtractor().getValue( left );
+            final Date value1 = (Date) context.getVariableDeclaration().getExtractor().getValue( left );
             final Object value2 = ((ObjectVariableContextEntry) context).right;
             if ( value1 == null ) {
                 return value2 == null;
@@ -135,7 +135,7 @@
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
             final Date value1 = (Date) ((ObjectVariableContextEntry) context).left;
-            final Object value2 = context.extractor.getValue( right );
+            final Object value2 = context.getFieldExtractor().getValue( right );
             if ( value1 == null ) {
                 return value2 == null;
             }
@@ -192,7 +192,7 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final Date value1 = (Date) context.declaration.getExtractor().getValue( left );
+            final Date value1 = (Date) context.getVariableDeclaration().getExtractor().getValue( left );
             final Object value2 = ((ObjectVariableContextEntry) context).right;
             if ( value1 == null ) {
                 return value2 != null;
@@ -206,7 +206,7 @@
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
             final Date value1 = (Date) ((ObjectVariableContextEntry) context).left;
-            final Object value2 = context.extractor.getValue( right );
+            final Object value2 = context.getFieldExtractor().getValue( right );
             if ( value1 == null ) {
                 return value2 != null;
             }
@@ -251,7 +251,7 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final Date value1 = (Date) context.declaration.getExtractor().getValue( left );
+            final Date value1 = (Date) context.getVariableDeclaration().getExtractor().getValue( left );
             final Object value2 = ((ObjectVariableContextEntry) context).right;
             return value1.compareTo( getRightDate( value2 ) ) < 0;
         }
@@ -259,7 +259,7 @@
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
             final Date value1 = (Date) ((ObjectVariableContextEntry) context).left;
-            final Object value2 = context.extractor.getValue( right );
+            final Object value2 = context.getFieldExtractor().getValue( right );
             return value1.compareTo( getRightDate( value2 ) ) < 0;
         }
 
@@ -298,7 +298,7 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final Date value1 = (Date) context.declaration.getExtractor().getValue( left );
+            final Date value1 = (Date) context.getVariableDeclaration().getExtractor().getValue( left );
             final Object value2 = ((ObjectVariableContextEntry) context).right;
             return value1.compareTo( getRightDate( value2 ) ) <= 0;
         }
@@ -306,7 +306,7 @@
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
             final Date value1 = (Date) ((ObjectVariableContextEntry) context).left;
-            final Object value2 = context.extractor.getValue( right );
+            final Object value2 = context.getFieldExtractor().getValue( right );
             return value1.compareTo( getRightDate( value2 ) ) <= 0;
         }
 
@@ -345,7 +345,7 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final Date value1 = (Date) context.declaration.getExtractor().getValue( left );
+            final Date value1 = (Date) context.getVariableDeclaration().getExtractor().getValue( left );
             final Object value2 = ((ObjectVariableContextEntry) context).right;
             return value1.compareTo( getRightDate( value2 ) ) > 0;
         }
@@ -353,7 +353,7 @@
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
             final Date value1 = (Date) ((ObjectVariableContextEntry) context).left;
-            final Object value2 = context.extractor.getValue( right );
+            final Object value2 = context.getFieldExtractor().getValue( right );
             return value1.compareTo( getRightDate( value2 ) ) > 0;
         }
 
@@ -392,7 +392,7 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final Date value1 = (Date) context.declaration.getExtractor().getValue( left );
+            final Date value1 = (Date) context.getVariableDeclaration().getExtractor().getValue( left );
             final Object value2 = ((ObjectVariableContextEntry) context).right;
             return value1.compareTo( getRightDate( value2 ) ) >= 0;
         }
@@ -400,7 +400,7 @@
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
             final Date value1 = (Date) ((ObjectVariableContextEntry) context).left;
-            final Object value2 = context.extractor.getValue( right );
+            final Object value2 = context.getFieldExtractor().getValue( right );
             return value1.compareTo( getRightDate( value2 ) ) >= 0;
         }
 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/DoubleFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/DoubleFactory.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/DoubleFactory.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -18,8 +18,8 @@
 
 import org.drools.base.BaseEvaluator;
 import org.drools.base.ValueType;
-import org.drools.rule.VariableConstraint.DoubleVariableContextEntry;
-import org.drools.rule.VariableConstraint.VariableContextEntry;
+import org.drools.rule.VariableContextEntry;
+import org.drools.rule.VariableRestriction.DoubleVariableContextEntry;
 import org.drools.spi.Evaluator;
 import org.drools.spi.Extractor;
 import org.drools.spi.FieldValue;
@@ -89,13 +89,13 @@
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
             // TODO: we are not handling delta right now... maybe we should
-            return context.declaration.getExtractor().getDoubleValue( left ) == ((DoubleVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getDoubleValue( left ) == ((DoubleVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
             // TODO: we are not handling delta right now... maybe we should
-            return ((DoubleVariableContextEntry) context).left == context.extractor.getDoubleValue( right );
+            return ((DoubleVariableContextEntry) context).left == context.getFieldExtractor().getDoubleValue( right );
         }
 
         public String toString() {
@@ -132,13 +132,13 @@
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
             // TODO: we are not handling delta right now... maybe we should
-            return context.declaration.getExtractor().getDoubleValue( left ) != ((DoubleVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getDoubleValue( left ) != ((DoubleVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
             // TODO: we are not handling delta right now... maybe we should
-            return ((DoubleVariableContextEntry) context).left != context.extractor.getDoubleValue( right );
+            return ((DoubleVariableContextEntry) context).left != context.getFieldExtractor().getDoubleValue( right );
         }
 
         public String toString() {
@@ -175,13 +175,13 @@
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
             // TODO: we are not handling delta right now... maybe we should
-            return context.declaration.getExtractor().getDoubleValue( left ) < ((DoubleVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getDoubleValue( left ) < ((DoubleVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
             // TODO: we are not handling delta right now... maybe we should
-            return ((DoubleVariableContextEntry) context).left < context.extractor.getDoubleValue( right );
+            return ((DoubleVariableContextEntry) context).left < context.getFieldExtractor().getDoubleValue( right );
         }
 
         public String toString() {
@@ -218,13 +218,13 @@
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
             // TODO: we are not handling delta right now... maybe we should
-            return context.declaration.getExtractor().getDoubleValue( left ) <= ((DoubleVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getDoubleValue( left ) <= ((DoubleVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
             // TODO: we are not handling delta right now... maybe we should
-            return ((DoubleVariableContextEntry) context).left <= context.extractor.getDoubleValue( right );
+            return ((DoubleVariableContextEntry) context).left <= context.getFieldExtractor().getDoubleValue( right );
         }
 
         public String toString() {
@@ -261,13 +261,13 @@
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
             // TODO: we are not handling delta right now... maybe we should
-            return context.declaration.getExtractor().getDoubleValue( left ) > ((DoubleVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getDoubleValue( left ) > ((DoubleVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
             // TODO: we are not handling delta right now... maybe we should
-            return ((DoubleVariableContextEntry) context).left > context.extractor.getDoubleValue( right );
+            return ((DoubleVariableContextEntry) context).left > context.getFieldExtractor().getDoubleValue( right );
         }
 
         public String toString() {
@@ -304,13 +304,13 @@
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
             // TODO: we are not handling delta right now... maybe we should
-            return context.declaration.getExtractor().getDoubleValue( left ) >= ((DoubleVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getDoubleValue( left ) >= ((DoubleVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
             // TODO: we are not handling delta right now... maybe we should
-            return ((DoubleVariableContextEntry) context).left >= context.extractor.getDoubleValue( right );
+            return ((DoubleVariableContextEntry) context).left >= context.getFieldExtractor().getDoubleValue( right );
         }
 
         public String toString() {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/FactTemplateFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/FactTemplateFactory.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/FactTemplateFactory.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -18,8 +18,8 @@
 
 import org.drools.base.BaseEvaluator;
 import org.drools.base.ValueType;
-import org.drools.rule.VariableConstraint.ObjectVariableContextEntry;
-import org.drools.rule.VariableConstraint.VariableContextEntry;
+import org.drools.rule.VariableContextEntry;
+import org.drools.rule.VariableRestriction.ObjectVariableContextEntry;
 import org.drools.spi.Evaluator;
 import org.drools.spi.Extractor;
 import org.drools.spi.FieldValue;
@@ -95,7 +95,7 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final Object value = context.declaration.getExtractor().getValue( left );
+            final Object value = context.getVariableDeclaration().getExtractor().getValue( left );
             if ( value == null ) {
                 return ((ObjectVariableContextEntry) context).right == null;
             }
@@ -104,7 +104,7 @@
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            final Object value = context.extractor.getValue( right );
+            final Object value = context.getFieldExtractor().getValue( right );
             if ( ((ObjectVariableContextEntry) context).left == null ) {
                 return value == null;
             }
@@ -152,7 +152,7 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final Object value = context.declaration.getExtractor().getValue( left );
+            final Object value = context.getVariableDeclaration().getExtractor().getValue( left );
             if ( value == null ) {
                 return ((ObjectVariableContextEntry) context).right != null;
             }
@@ -161,7 +161,7 @@
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            final Object value = context.extractor.getValue( right );
+            final Object value = context.getFieldExtractor().getValue( right );
             if ( ((ObjectVariableContextEntry) context).left == null ) {
                 return value != null;
             }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/FloatFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/FloatFactory.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/FloatFactory.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -18,8 +18,8 @@
 
 import org.drools.base.BaseEvaluator;
 import org.drools.base.ValueType;
-import org.drools.rule.VariableConstraint.DoubleVariableContextEntry;
-import org.drools.rule.VariableConstraint.VariableContextEntry;
+import org.drools.rule.VariableContextEntry;
+import org.drools.rule.VariableRestriction.DoubleVariableContextEntry;
 import org.drools.spi.Evaluator;
 import org.drools.spi.Extractor;
 import org.drools.spi.FieldValue;
@@ -87,13 +87,13 @@
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
             // TODO: we are not handling delta right now... maybe we should
-            return context.declaration.getExtractor().getFloatValue( left ) == ((DoubleVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getFloatValue( left ) == ((DoubleVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
             // TODO: we are not handling delta right now... maybe we should
-            return ((DoubleVariableContextEntry) context).left == context.extractor.getFloatValue( right );
+            return ((DoubleVariableContextEntry) context).left == context.getFieldExtractor().getFloatValue( right );
         }
 
         public String toString() {
@@ -130,13 +130,13 @@
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
             // TODO: we are not handling delta right now... maybe we should
-            return context.declaration.getExtractor().getFloatValue( left ) != ((DoubleVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getFloatValue( left ) != ((DoubleVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
             // TODO: we are not handling delta right now... maybe we should
-            return ((DoubleVariableContextEntry) context).left != context.extractor.getFloatValue( right );
+            return ((DoubleVariableContextEntry) context).left != context.getFieldExtractor().getFloatValue( right );
         }
 
         public String toString() {
@@ -173,13 +173,13 @@
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
             // TODO: we are not handling delta right now... maybe we should
-            return context.declaration.getExtractor().getFloatValue( left ) < ((DoubleVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getFloatValue( left ) < ((DoubleVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
             // TODO: we are not handling delta right now... maybe we should
-            return ((DoubleVariableContextEntry) context).left < context.extractor.getFloatValue( right );
+            return ((DoubleVariableContextEntry) context).left < context.getFieldExtractor().getFloatValue( right );
         }
 
         public String toString() {
@@ -216,13 +216,13 @@
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
             // TODO: we are not handling delta right now... maybe we should
-            return context.declaration.getExtractor().getFloatValue( left ) <= ((DoubleVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getFloatValue( left ) <= ((DoubleVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
             // TODO: we are not handling delta right now... maybe we should
-            return ((DoubleVariableContextEntry) context).left <= context.extractor.getFloatValue( right );
+            return ((DoubleVariableContextEntry) context).left <= context.getFieldExtractor().getFloatValue( right );
         }
 
         public String toString() {
@@ -259,13 +259,13 @@
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
             // TODO: we are not handling delta right now... maybe we should
-            return context.declaration.getExtractor().getFloatValue( left ) > ((DoubleVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getFloatValue( left ) > ((DoubleVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
             // TODO: we are not handling delta right now... maybe we should
-            return ((DoubleVariableContextEntry) context).left > context.extractor.getFloatValue( right );
+            return ((DoubleVariableContextEntry) context).left > context.getFieldExtractor().getFloatValue( right );
         }
 
         public String toString() {
@@ -302,13 +302,13 @@
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
             // TODO: we are not handling delta right now... maybe we should
-            return context.declaration.getExtractor().getFloatValue( left ) >= ((DoubleVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getFloatValue( left ) >= ((DoubleVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
             // TODO: we are not handling delta right now... maybe we should
-            return ((DoubleVariableContextEntry) context).left >= context.extractor.getFloatValue( right );
+            return ((DoubleVariableContextEntry) context).left >= context.getFieldExtractor().getFloatValue( right );
         }
 
         public String toString() {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/IntegerFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/IntegerFactory.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/IntegerFactory.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -18,8 +18,8 @@
 
 import org.drools.base.BaseEvaluator;
 import org.drools.base.ValueType;
-import org.drools.rule.VariableConstraint.LongVariableContextEntry;
-import org.drools.rule.VariableConstraint.VariableContextEntry;
+import org.drools.rule.VariableContextEntry;
+import org.drools.rule.VariableRestriction.LongVariableContextEntry;
 import org.drools.spi.Evaluator;
 import org.drools.spi.Extractor;
 import org.drools.spi.FieldValue;
@@ -86,12 +86,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getIntValue( left ) == ((LongVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getIntValue( left ) == ((LongVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object object2) {
-            return context.extractor.getIntValue( object2 ) == ((LongVariableContextEntry) context).left;
+            return context.getFieldExtractor().getIntValue( object2 ) == ((LongVariableContextEntry) context).left;
         }
 
         public String toString() {
@@ -126,12 +126,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getIntValue( left ) != ((LongVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getIntValue( left ) != ((LongVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object object2) {
-            return context.extractor.getIntValue( object2 ) != ((LongVariableContextEntry) context).left;
+            return context.getFieldExtractor().getIntValue( object2 ) != ((LongVariableContextEntry) context).left;
         }
 
         public String toString() {
@@ -165,12 +165,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getIntValue( left ) < ((LongVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getIntValue( left ) < ((LongVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            return ((LongVariableContextEntry) context).left < context.extractor.getIntValue( right );
+            return ((LongVariableContextEntry) context).left < context.getFieldExtractor().getIntValue( right );
         }
 
         public String toString() {
@@ -204,12 +204,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getIntValue( left ) <= ((LongVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getIntValue( left ) <= ((LongVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            return ((LongVariableContextEntry) context).left <= context.extractor.getIntValue( right );
+            return ((LongVariableContextEntry) context).left <= context.getFieldExtractor().getIntValue( right );
         }
 
         public String toString() {
@@ -243,12 +243,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getIntValue( left ) > ((LongVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getIntValue( left ) > ((LongVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            return ((LongVariableContextEntry) context).left > context.extractor.getIntValue( right );
+            return ((LongVariableContextEntry) context).left > context.getFieldExtractor().getIntValue( right );
         }
 
         public String toString() {
@@ -282,12 +282,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getIntValue( left ) >= ((LongVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getIntValue( left ) >= ((LongVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            return ((LongVariableContextEntry) context).left >= context.extractor.getIntValue( right );
+            return ((LongVariableContextEntry) context).left >= context.getFieldExtractor().getIntValue( right );
         }
 
         public String toString() {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/LongFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/LongFactory.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/LongFactory.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -18,8 +18,8 @@
 
 import org.drools.base.BaseEvaluator;
 import org.drools.base.ValueType;
-import org.drools.rule.VariableConstraint.LongVariableContextEntry;
-import org.drools.rule.VariableConstraint.VariableContextEntry;
+import org.drools.rule.VariableContextEntry;
+import org.drools.rule.VariableRestriction.LongVariableContextEntry;
 import org.drools.spi.Evaluator;
 import org.drools.spi.Extractor;
 import org.drools.spi.FieldValue;
@@ -86,12 +86,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getLongValue( left ) == ((LongVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getLongValue( left ) == ((LongVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            return ((LongVariableContextEntry) context).left == context.extractor.getLongValue( right );
+            return ((LongVariableContextEntry) context).left == context.getFieldExtractor().getLongValue( right );
         }
 
         public String toString() {
@@ -125,12 +125,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getLongValue( left ) != ((LongVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getLongValue( left ) != ((LongVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            return ((LongVariableContextEntry) context).left != context.extractor.getLongValue( right );
+            return ((LongVariableContextEntry) context).left != context.getFieldExtractor().getLongValue( right );
         }
 
         public String toString() {
@@ -164,12 +164,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getLongValue( left ) < ((LongVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getLongValue( left ) < ((LongVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            return ((LongVariableContextEntry) context).left < context.extractor.getLongValue( right );
+            return ((LongVariableContextEntry) context).left < context.getFieldExtractor().getLongValue( right );
         }
 
         public String toString() {
@@ -203,12 +203,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getLongValue( left ) <= ((LongVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getLongValue( left ) <= ((LongVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            return ((LongVariableContextEntry) context).left <= context.extractor.getLongValue( right );
+            return ((LongVariableContextEntry) context).left <= context.getFieldExtractor().getLongValue( right );
         }
 
         public String toString() {
@@ -242,12 +242,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getLongValue( left ) > ((LongVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getLongValue( left ) > ((LongVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            return ((LongVariableContextEntry) context).left > context.extractor.getLongValue( right );
+            return ((LongVariableContextEntry) context).left > context.getFieldExtractor().getLongValue( right );
         }
 
         public String toString() {
@@ -281,12 +281,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getLongValue( left ) >= ((LongVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getLongValue( left ) >= ((LongVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            return ((LongVariableContextEntry) context).left >= context.extractor.getLongValue( right );
+            return ((LongVariableContextEntry) context).left >= context.getFieldExtractor().getLongValue( right );
         }
 
         public String toString() {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ObjectFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ObjectFactory.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ObjectFactory.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -20,8 +20,8 @@
 
 import org.drools.base.BaseEvaluator;
 import org.drools.base.ValueType;
-import org.drools.rule.VariableConstraint.ObjectVariableContextEntry;
-import org.drools.rule.VariableConstraint.VariableContextEntry;
+import org.drools.rule.VariableContextEntry;
+import org.drools.rule.VariableRestriction.ObjectVariableContextEntry;
 import org.drools.spi.Evaluator;
 import org.drools.spi.Extractor;
 import org.drools.spi.FieldValue;
@@ -113,7 +113,7 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final Object value = context.declaration.getExtractor().getValue( left );
+            final Object value = context.getVariableDeclaration().getExtractor().getValue( left );
             if ( value == null ) {
                 return ((ObjectVariableContextEntry) context).right == null;
             }
@@ -122,7 +122,7 @@
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            final Object value = context.extractor.getValue( right );
+            final Object value = context.getFieldExtractor().getValue( right );
             if ( ((ObjectVariableContextEntry) context).left == null ) {
                 return value == null;
             }
@@ -171,7 +171,7 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final Object value = context.declaration.getExtractor().getValue( left );
+            final Object value = context.getVariableDeclaration().getExtractor().getValue( left );
             if ( value == null ) {
                 return ((ObjectVariableContextEntry) context).right != null;
             }
@@ -180,7 +180,7 @@
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            final Object value = context.extractor.getValue( right );
+            final Object value = context.getFieldExtractor().getValue( right );
             if ( ((ObjectVariableContextEntry) context).left == null ) {
                 return value != null;
             }
@@ -217,14 +217,14 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final Comparable comp = (Comparable) context.declaration.getExtractor().getValue( left );
+            final Comparable comp = (Comparable) context.getVariableDeclaration().getExtractor().getValue( left );
             return comp.compareTo( ((ObjectVariableContextEntry) context).right ) < 0;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
             final Comparable comp = (Comparable) ((ObjectVariableContextEntry) context).left;
-            return comp.compareTo( context.extractor.getValue( right ) ) < 0;
+            return comp.compareTo( context.getFieldExtractor().getValue( right ) ) < 0;
         }
 
         public String toString() {
@@ -260,14 +260,14 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final Comparable comp = (Comparable) context.declaration.getExtractor().getValue( left );
+            final Comparable comp = (Comparable) context.getVariableDeclaration().getExtractor().getValue( left );
             return comp.compareTo( ((ObjectVariableContextEntry) context).right ) <= 0;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
             final Comparable comp = (Comparable) ((ObjectVariableContextEntry) context).left;
-            return comp.compareTo( context.extractor.getValue( right ) ) <= 0;
+            return comp.compareTo( context.getFieldExtractor().getValue( right ) ) <= 0;
         }
 
         public String toString() {
@@ -303,14 +303,14 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final Comparable comp = (Comparable) context.declaration.getExtractor().getValue( left );
+            final Comparable comp = (Comparable) context.getVariableDeclaration().getExtractor().getValue( left );
             return comp.compareTo( ((ObjectVariableContextEntry) context).right ) >= 0;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
             final Comparable comp = (Comparable) ((ObjectVariableContextEntry) context).left;
-            return comp.compareTo( context.extractor.getValue( right ) ) >= 0;
+            return comp.compareTo( context.getFieldExtractor().getValue( right ) ) >= 0;
         }
 
         public String toString() {
@@ -346,14 +346,14 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final Comparable comp = (Comparable) context.declaration.getExtractor().getValue( left );
+            final Comparable comp = (Comparable) context.getVariableDeclaration().getExtractor().getValue( left );
             return comp.compareTo( ((ObjectVariableContextEntry) context).right ) >= 0;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
             final Comparable comp = (Comparable) ((ObjectVariableContextEntry) context).left;
-            return comp.compareTo( context.extractor.getValue( right ) ) >= 0;
+            return comp.compareTo( context.getFieldExtractor().getValue( right ) ) >= 0;
         }
 
         public String toString() {
@@ -392,13 +392,13 @@
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
             final Object value = ((ObjectVariableContextEntry) context).right;
-            final Collection col = (Collection) context.declaration.getExtractor().getValue( left );
+            final Collection col = (Collection) context.getVariableDeclaration().getExtractor().getValue( left );
             return col.contains( value );
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            final Object value = context.extractor.getValue( right );
+            final Object value = context.getFieldExtractor().getValue( right );
             final Collection col = (Collection) ((ObjectVariableContextEntry) context).left;
             return col.contains( value );
         }
@@ -439,13 +439,13 @@
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
             final Object value = ((ObjectVariableContextEntry) context).right;
-            final Collection col = (Collection) context.declaration.getExtractor().getValue( left );
+            final Collection col = (Collection) context.getVariableDeclaration().getExtractor().getValue( left );
             return !col.contains( value );
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            final Object value = context.extractor.getValue( right );
+            final Object value = context.getFieldExtractor().getValue( right );
             final Collection col = (Collection) ((ObjectVariableContextEntry) context).left;
             return !col.contains( value );
         }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ShortFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ShortFactory.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ShortFactory.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -18,8 +18,8 @@
 
 import org.drools.base.BaseEvaluator;
 import org.drools.base.ValueType;
-import org.drools.rule.VariableConstraint.LongVariableContextEntry;
-import org.drools.rule.VariableConstraint.VariableContextEntry;
+import org.drools.rule.VariableContextEntry;
+import org.drools.rule.VariableRestriction.LongVariableContextEntry;
 import org.drools.spi.Evaluator;
 import org.drools.spi.Extractor;
 import org.drools.spi.FieldValue;
@@ -86,12 +86,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getShortValue( left ) == ((LongVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getShortValue( left ) == ((LongVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            return ((LongVariableContextEntry) context).left == context.extractor.getShortValue( right );
+            return ((LongVariableContextEntry) context).left == context.getFieldExtractor().getShortValue( right );
         }
 
         public String toString() {
@@ -125,12 +125,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getShortValue( left ) != ((LongVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getShortValue( left ) != ((LongVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            return ((LongVariableContextEntry) context).left != context.extractor.getShortValue( right );
+            return ((LongVariableContextEntry) context).left != context.getFieldExtractor().getShortValue( right );
         }
 
         public String toString() {
@@ -164,12 +164,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getShortValue( left ) < ((LongVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getShortValue( left ) < ((LongVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            return ((LongVariableContextEntry) context).left < context.extractor.getShortValue( right );
+            return ((LongVariableContextEntry) context).left < context.getFieldExtractor().getShortValue( right );
         }
 
         public String toString() {
@@ -203,12 +203,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getShortValue( left ) <= ((LongVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getShortValue( left ) <= ((LongVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            return ((LongVariableContextEntry) context).left <= context.extractor.getShortValue( right );
+            return ((LongVariableContextEntry) context).left <= context.getFieldExtractor().getShortValue( right );
         }
 
         public String toString() {
@@ -242,12 +242,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getShortValue( left ) > ((LongVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getShortValue( left ) > ((LongVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            return ((LongVariableContextEntry) context).left > context.extractor.getShortValue( right );
+            return ((LongVariableContextEntry) context).left > context.getFieldExtractor().getShortValue( right );
         }
 
         public String toString() {
@@ -281,12 +281,12 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            return context.declaration.getExtractor().getShortValue( left ) >= ((LongVariableContextEntry) context).right;
+            return context.getVariableDeclaration().getExtractor().getShortValue( left ) >= ((LongVariableContextEntry) context).right;
         }
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            return ((LongVariableContextEntry) context).left >= context.extractor.getShortValue( right );
+            return ((LongVariableContextEntry) context).left >= context.getFieldExtractor().getShortValue( right );
         }
 
         public String toString() {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/StringFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/StringFactory.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/StringFactory.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -18,8 +18,8 @@
 
 import org.drools.base.BaseEvaluator;
 import org.drools.base.ValueType;
-import org.drools.rule.VariableConstraint.ObjectVariableContextEntry;
-import org.drools.rule.VariableConstraint.VariableContextEntry;
+import org.drools.rule.VariableContextEntry;
+import org.drools.rule.VariableRestriction.ObjectVariableContextEntry;
 import org.drools.spi.Evaluator;
 import org.drools.spi.Extractor;
 import org.drools.spi.FieldValue;
@@ -97,7 +97,7 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final Object value = context.declaration.getExtractor().getValue( left );
+            final Object value = context.getVariableDeclaration().getExtractor().getValue( left );
             if ( value == null ) {
                 return ((ObjectVariableContextEntry) context).right == null;
             }
@@ -106,7 +106,7 @@
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            final Object value = context.extractor.getValue( right );
+            final Object value = context.getFieldExtractor().getValue( right );
             if ( ((ObjectVariableContextEntry) context).left == null ) {
                 return value == null;
             }
@@ -154,7 +154,7 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final Object value = context.declaration.getExtractor().getValue( left );
+            final Object value = context.getVariableDeclaration().getExtractor().getValue( left );
             if ( value == null ) {
                 return ((ObjectVariableContextEntry) context).right != null;
             }
@@ -163,7 +163,7 @@
 
         public boolean evaluateCachedLeft(final VariableContextEntry context,
                                           final Object right) {
-            final Object value = context.extractor.getValue( right );
+            final Object value = context.getFieldExtractor().getValue( right );
             if ( ((ObjectVariableContextEntry) context).left == null ) {
                 return value != null;
             }
@@ -211,7 +211,7 @@
 
         public boolean evaluateCachedRight(final VariableContextEntry context,
                                            final Object left) {
-            final String value = (String) context.declaration.getExtractor().getValue( left );
+            final String value = (String) context.getVariableDeclaration().getExtractor().getValue( left );
             if ( value == null ) {
                 return false;
             }
@@ -223,7 +223,7 @@
             if ( ((ObjectVariableContextEntry) context).left == null ) {
                 return false;
             }
-            final String value = (String) context.extractor.getValue( right );
+            final String value = (String) context.getFieldExtractor().getValue( right );
             return ((String) ((ObjectVariableContextEntry) context).left).matches( value );
         }
 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ActivationGroupImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ActivationGroupImpl.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ActivationGroupImpl.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -2,7 +2,6 @@
 
 import org.drools.spi.Activation;
 import org.drools.spi.ActivationGroup;
-import org.drools.util.Iterator;
 import org.drools.util.LinkedList;
 
 public class ActivationGroupImpl

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DefaultAgenda.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DefaultAgenda.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DefaultAgenda.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -20,6 +20,7 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
@@ -31,7 +32,6 @@
 import org.drools.spi.AgendaFilter;
 import org.drools.spi.AgendaGroup;
 import org.drools.spi.ConsequenceException;
-import org.drools.util.Iterator;
 import org.drools.util.LinkedListNode;
 import org.drools.util.Queueable;
 
@@ -373,8 +373,9 @@
      */
     public void clearActivationGroup(final ActivationGroup activationGroup) {
         final EventSupport eventsupport = (EventSupport) this.workingMemory;
-        final Iterator it = activationGroup.iterator();
-        for ( ActivationGroupNode node = (ActivationGroupNode) it.next() ; node != null; node = (ActivationGroupNode) it.next()) {
+        
+        for ( final Iterator it = activationGroup.iterator(); it.hasNext(); ) {
+            ActivationGroupNode node = (ActivationGroupNode) it.next() ;             
             final Activation activation = node.getActivation();
             activation.setActivationGroupNode( null );
 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ScheduledAgendaItem.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ScheduledAgendaItem.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ScheduledAgendaItem.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -23,7 +23,6 @@
 import org.drools.spi.Activation;
 import org.drools.spi.PropagationContext;
 import org.drools.spi.Tuple;
-import org.drools.util.Entry;
 import org.drools.util.LinkedList;
 import org.drools.util.LinkedListNode;
 
@@ -129,12 +128,12 @@
         return this.activationNumber;
     }
 
-    public Entry getNext() {
+    public LinkedListNode getNext() {
         return this.next;
     }
 
-    public void setNext(final Entry next) {
-        this.next = (LinkedListNode) next;
+    public void setNext(final LinkedListNode next) {
+        this.next = next;
     }
 
     public LinkedListNode getPrevious() {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/CompositeObjectSinkAdapter.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/CompositeObjectSinkAdapter.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/CompositeObjectSinkAdapter.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -11,7 +11,6 @@
 import org.drools.spi.Evaluator;
 import org.drools.spi.FieldExtractor;
 import org.drools.spi.PropagationContext;
-import org.drools.util.Entry;
 import org.drools.util.Iterator;
 import org.drools.util.LinkedList;
 import org.drools.util.LinkedListNode;
@@ -465,7 +464,7 @@
             this.count--;
         }
 
-        public Entry getNext() {
+        public LinkedListNode getNext() {
             return this.next;
         }
 
@@ -473,8 +472,8 @@
             return this.previous;
         }
 
-        public void setNext(final Entry next) {
-            this.next = (LinkedListNode) next;
+        public void setNext(final LinkedListNode next) {
+            this.next = next;
 
         }
 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/FromNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/FromNode.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/FromNode.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -15,7 +15,6 @@
 import org.drools.util.LinkedList;
 import org.drools.util.LinkedListEntry;
 import org.drools.util.TupleHashTable;
-import org.drools.util.LinkedList.LinkedListIterator;
 
 public class FromNode extends TupleSource
     implements
@@ -105,8 +104,7 @@
         LinkedList list = (LinkedList) memory.getCreatedHandles().remove( tuple );
         // if tuple was propagated
         if ( list != null ) {
-            LinkedListIterator it = (LinkedListIterator) list.iterator();
-            for ( LinkedListEntry entry = (LinkedListEntry) it.next(); entry != null; entry = (LinkedListEntry) it.next() ) {
+            for ( LinkedListEntry entry = (LinkedListEntry) list.getFirst(); entry != null; entry = (LinkedListEntry) entry.getNext() ) {
                 InternalFactHandle handle = (InternalFactHandle) entry.getObject();
                 this.sink.propagateRetractTuple( leftTuple,
                                                  handle,
@@ -165,8 +163,7 @@
             if ( list == null ) {
                 continue;
             }
-            Iterator it = list.iterator();
-            for ( LinkedListEntry entry = (LinkedListEntry) it.next(); entry != null; entry = (LinkedListEntry) it.next() ) {
+            for ( LinkedListEntry entry = (LinkedListEntry) list.getFirst(); entry != null; entry = (LinkedListEntry) entry.getNext() ) {
                 InternalFactHandle handle = (InternalFactHandle) entry.getObject();
                 this.sink.propagateRetractTuple( tuple,
                                                  handle,

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/LiteralConstraint.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/LiteralConstraint.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/LiteralConstraint.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -42,7 +42,8 @@
                              final FieldValue field) {
         this.extractor = extractor;
         this.restriction = new LiteralRestriction( field,
-                                                   evaluator );
+                                                   evaluator,
+                                                   extractor );
     }
 
     public LiteralConstraint(final FieldExtractor extractor,

Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/LiteralContextEntry.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/LiteralContextEntry.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/LiteralContextEntry.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -0,0 +1,24 @@
+package org.drools.rule;
+
+import org.drools.spi.FieldExtractor;
+
+/**
+ * A context for literal constraints
+ * 
+ * @author etirelli
+ */
+public interface LiteralContextEntry
+    extends
+    ContextEntry {
+    
+    /**
+     * Returns the field extractor for the constrained field
+     */
+    public FieldExtractor getFieldExtractor();
+    
+    /**
+     * Returns the object to extract the field from
+     */
+    public Object getObject();
+
+}


Property changes on: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/LiteralContextEntry.java
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:keywords
   + id author date revision
Name: svn:eol-style
   + native

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/LiteralRestriction.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/LiteralRestriction.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/LiteralRestriction.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -16,10 +16,12 @@
  * limitations under the License.
  */
 
+import org.drools.common.InternalFactHandle;
 import org.drools.common.InternalWorkingMemory;
 import org.drools.reteoo.ReteTuple;
 import org.drools.spi.Evaluator;
 import org.drools.spi.Extractor;
+import org.drools.spi.FieldExtractor;
 import org.drools.spi.FieldValue;
 import org.drools.spi.Restriction;
 
@@ -27,9 +29,6 @@
     implements
     Restriction {
 
-    /**
-     * 
-     */
     private static final long          serialVersionUID     = 320;
 
     private final FieldValue           field;
@@ -38,10 +37,14 @@
 
     private static final Declaration[] requiredDeclarations = new Declaration[0];
 
+    private final LiteralContextEntry  contextEntry;
+
     public LiteralRestriction(final FieldValue field,
-                              final Evaluator evaluator) {
+                              final Evaluator evaluator,
+                              final FieldExtractor fieldExtractor) {
         this.field = field;
         this.evaluator = evaluator;
+        this.contextEntry = new LiteralContextEntryImpl( fieldExtractor );
     }
 
     public Evaluator getEvaluator() {
@@ -62,12 +65,16 @@
 
     public boolean isAllowedCachedLeft(final ContextEntry context,
                                        final Object object) {
-        throw new UnsupportedOperationException( "cannot call isAllowed(ContextEntry context)" );
+        return this.evaluator.evaluate( ((LiteralContextEntry) context).getFieldExtractor(),
+                                        object,
+                                        this.field );
     }
 
     public boolean isAllowedCachedRight(final ReteTuple tuple,
                                         final ContextEntry context) {
-        throw new UnsupportedOperationException( "cannot call isAllowed(ContextEntry context)" );
+        return this.evaluator.evaluate( ((LiteralContextEntry) context).getFieldExtractor(),
+                                        ((LiteralContextEntry) context).getObject(),
+                                        this.field );
     }
 
     /**
@@ -103,4 +110,47 @@
         return this.field.equals( other.field ) && this.evaluator.equals( other.evaluator );
     }
 
-};
\ No newline at end of file
+    public ContextEntry getContextEntry() {
+        return contextEntry;
+    }
+
+    private static class LiteralContextEntryImpl
+        implements
+        LiteralContextEntry {
+        private FieldExtractor extractor;
+        private Object         object;
+        private ContextEntry   next;
+
+        public LiteralContextEntryImpl(FieldExtractor extractor) {
+            this.extractor = extractor;
+        }
+
+        public FieldExtractor getFieldExtractor() {
+            return this.extractor;
+        }
+
+        public Object getObject() {
+            return this.object;
+        }
+
+        public ContextEntry getNext() {
+            return this.next;
+        }
+
+        public void setNext(ContextEntry entry) {
+            this.next = entry;
+        }
+
+        public void updateFromFactHandle(InternalWorkingMemory workingMemory,
+                                         InternalFactHandle handle) {
+            this.object = handle.getObject();
+        }
+
+        public void updateFromTuple(InternalWorkingMemory workingMemory,
+                                    ReteTuple tuple) {
+            // nothing to do
+        }
+
+    }
+
+}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/VariableConstraint.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/VariableConstraint.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/VariableConstraint.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -16,8 +16,6 @@
  * limitations under the License.
  */
 
-import org.drools.common.InternalFactHandle;
-import org.drools.common.InternalWorkingMemory;
 import org.drools.reteoo.ReteTuple;
 import org.drools.spi.BetaNodeFieldConstraint;
 import org.drools.spi.Evaluator;
@@ -36,7 +34,8 @@
                               final Declaration declaration,
                               final Evaluator evaluator) {
         this.fieldExtractor = fieldExtractor;
-        this.restriction = new VariableRestriction( declaration,
+        this.restriction = new VariableRestriction( fieldExtractor,
+                                                    declaration,
                                                     evaluator );
     }
 
@@ -75,22 +74,7 @@
     }
 
     public ContextEntry getContextEntry() {
-        final Class classType = this.fieldExtractor.getValueType().getClassType();
-        if ( classType.isPrimitive() ) {
-            if ( classType == Boolean.TYPE ) {
-                return new BooleanVariableContextEntry( this.fieldExtractor,
-                                                        this.restriction.getRequiredDeclarations()[0] );
-            } else if ( (classType == Double.TYPE) || (classType == Float.TYPE) ) {
-                return new DoubleVariableContextEntry( this.fieldExtractor,
-                                                       this.restriction.getRequiredDeclarations()[0] );
-            } else {
-                return new LongVariableContextEntry( this.fieldExtractor,
-                                                     this.restriction.getRequiredDeclarations()[0] );
-            }
-        } else {
-            return new ObjectVariableContextEntry( this.fieldExtractor,
-                                                   this.restriction.getRequiredDeclarations()[0] );
-        }
+        return this.restriction.getContextEntry();
     }
 
     public int hashCode() {
@@ -115,102 +99,5 @@
         return this.fieldExtractor.equals( other.fieldExtractor ) && this.restriction.equals( other.restriction );
     }
 
-    public static abstract class VariableContextEntry
-        implements
-        ContextEntry {
-        public FieldExtractor extractor;
-        public Declaration    declaration;
-        private ContextEntry  entry;
 
-        public VariableContextEntry(final FieldExtractor extractor,
-                                    final Declaration declaration) {
-            this.extractor = extractor;
-            this.declaration = declaration;
-        }
-
-        public ContextEntry getNext() {
-            return this.entry;
-        }
-
-        public void setNext(final ContextEntry entry) {
-            this.entry = entry;
-        }
-    }
-
-    public static class ObjectVariableContextEntry extends VariableContextEntry {
-        public Object left;
-        public Object right;
-
-        public ObjectVariableContextEntry(final FieldExtractor extractor,
-                                          final Declaration declaration) {
-            super( extractor,
-                   declaration );
-        }
-
-        public void updateFromTuple(final InternalWorkingMemory workingMemory, final ReteTuple tuple) {
-            this.left = this.declaration.getExtractor().getValue( tuple.get( this.declaration ).getObject() );
-        }
-
-        public void updateFromFactHandle(final InternalWorkingMemory workingMemory, final InternalFactHandle handle) {
-            this.right = this.extractor.getValue( handle.getObject() );
-        }
-    }
-
-    public static class LongVariableContextEntry extends VariableContextEntry {
-        public long left;
-        public long right;
-
-        public LongVariableContextEntry(final FieldExtractor extractor,
-                                        final Declaration declaration) {
-            super( extractor,
-                   declaration );
-        }
-
-        public void updateFromTuple(final InternalWorkingMemory workingMemory, final ReteTuple tuple) {
-            this.left = this.declaration.getExtractor().getLongValue( tuple.get( this.declaration ).getObject() );
-        }
-
-        public void updateFromFactHandle(final InternalWorkingMemory workingMemory, final InternalFactHandle handle) {
-            this.right = this.extractor.getLongValue( handle.getObject() );
-        }
-    }
-
-    public static class DoubleVariableContextEntry extends VariableContextEntry {
-        public double left;
-        public double right;
-
-        public DoubleVariableContextEntry(final FieldExtractor extractor,
-                                          final Declaration declaration) {
-            super( extractor,
-                   declaration );
-        }
-
-        public void updateFromTuple(final InternalWorkingMemory workingMemory, final ReteTuple tuple) {
-            this.left = this.declaration.getExtractor().getDoubleValue( tuple.get( this.declaration ).getObject() );
-        }
-
-        public void updateFromFactHandle(final InternalWorkingMemory workingMemory, final InternalFactHandle handle) {
-            this.right = this.extractor.getDoubleValue( handle.getObject() );
-        }
-    }
-
-    public static class BooleanVariableContextEntry extends VariableContextEntry {
-        public boolean left;
-        public boolean right;
-
-        public BooleanVariableContextEntry(final FieldExtractor extractor,
-                                           final Declaration declaration) {
-            super( extractor,
-                   declaration );
-        }
-
-        public void updateFromTuple(final InternalWorkingMemory workingMemory, final ReteTuple tuple) {
-            this.left = this.declaration.getExtractor().getBooleanValue( tuple.get( this.declaration ).getObject() );
-        }
-
-        public void updateFromFactHandle(final InternalWorkingMemory workingMemory, final InternalFactHandle handle) {
-            this.right = this.extractor.getBooleanValue( handle.getObject() );
-        }
-    }
-
 }
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/VariableContextEntry.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/VariableContextEntry.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/VariableContextEntry.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -0,0 +1,29 @@
+package org.drools.rule;
+
+import org.drools.reteoo.ReteTuple;
+import org.drools.spi.FieldExtractor;
+
+public interface VariableContextEntry
+    extends
+    ContextEntry {
+
+    /**
+     * Returns the field extractor for the constrained field
+     */
+    public FieldExtractor getFieldExtractor();
+    
+    /**
+     * Returns the object to extract the field from
+     */
+    public Object getObject();
+
+    /**
+     * Returns the ReteTuple where the variable value is read from
+     */
+    public ReteTuple getTuple();
+
+    /**
+     * Returns the Declaration object that knows how to read the value from the tuple
+     */
+    public Declaration getVariableDeclaration();
+}


Property changes on: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/VariableContextEntry.java
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:keywords
   + id author date revision
Name: svn:eol-style
   + native

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/VariableRestriction.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/VariableRestriction.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/VariableRestriction.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -18,20 +18,18 @@
 
 import java.util.Arrays;
 
+import org.drools.common.InternalFactHandle;
 import org.drools.common.InternalWorkingMemory;
 import org.drools.reteoo.ReteTuple;
-import org.drools.rule.VariableConstraint.VariableContextEntry;
 import org.drools.spi.Evaluator;
 import org.drools.spi.Extractor;
+import org.drools.spi.FieldExtractor;
 import org.drools.spi.Restriction;
 
 public class VariableRestriction
     implements
     Restriction {
 
-    /**
-     * 
-     */
     private static final long   serialVersionUID = 320;
 
     private final Declaration   declaration;
@@ -39,12 +37,16 @@
     private final Declaration[] requiredDeclarations;
 
     private final Evaluator     evaluator;
+    
+    private final VariableContextEntry contextEntry;
 
-    public VariableRestriction(final Declaration declaration,
+    public VariableRestriction(final FieldExtractor fieldExtractor,
+                               final Declaration declaration,
                                final Evaluator evaluator) {
         this.declaration = declaration;
         this.requiredDeclarations = new Declaration[]{declaration};
         this.evaluator = evaluator;
+        this.contextEntry = this.createContextEntry( fieldExtractor );
     }
 
     public Declaration[] getRequiredDeclarations() {
@@ -58,9 +60,9 @@
     public boolean isAllowed(final Extractor extractor,
                              final Object object,
                              final InternalWorkingMemory workingMemoiry) {
-        throw new UnsupportedOperationException( "does not support method  call  isAllowed(Object object, InternalWorkingMemory workingMemoiry)" );
+        throw new UnsupportedOperationException( "does not support method call isAllowed(Extractor extractor, Object object, InternalWorkingMemory workingMemoiry)" );
     }
-    
+
     public boolean isAllowedCachedLeft(final ContextEntry context,
                                        final Object object) {
         return this.evaluator.evaluateCachedLeft( (VariableContextEntry) context,
@@ -103,5 +105,161 @@
         return this.declaration.equals( other.declaration ) && this.evaluator.equals( other.evaluator ) && Arrays.equals( this.requiredDeclarations,
                                                                                                                           other.requiredDeclarations );
     }
+    
+    private final VariableContextEntry createContextEntry(FieldExtractor fieldExtractor) {
+        final Class classType = fieldExtractor.getValueType().getClassType();
+        if ( classType.isPrimitive() ) {
+            if ( classType == Boolean.TYPE ) {
+                return new BooleanVariableContextEntry( fieldExtractor,
+                                                        this.declaration );
+            } else if ( (classType == Double.TYPE) || (classType == Float.TYPE) ) {
+                return new DoubleVariableContextEntry( fieldExtractor,
+                                                       this.declaration );
+            } else {
+                return new LongVariableContextEntry( fieldExtractor,
+                                                     this.declaration );
+            }
+        } else {
+            return new ObjectVariableContextEntry( fieldExtractor,
+                                                   this.declaration );
+        }
+    }
 
+    public ContextEntry getContextEntry() {
+        return this.contextEntry;
+    }
+
+    public static abstract class VariableContextEntryImpl
+        implements
+        VariableContextEntry {
+        protected FieldExtractor extractor;
+        protected Object         object;
+        protected Declaration    declaration;
+        protected ReteTuple      reteTuple;
+        protected ContextEntry   entry;
+
+        public VariableContextEntryImpl(final FieldExtractor extractor,
+                                        final Declaration declaration) {
+            this.extractor = extractor;
+            this.declaration = declaration;
+        }
+
+        public ContextEntry getNext() {
+            return this.entry;
+        }
+
+        public void setNext(final ContextEntry entry) {
+            this.entry = entry;
+        }
+
+        public FieldExtractor getFieldExtractor() {
+            return this.extractor;
+        }
+
+        public Object getObject() {
+            return this.object;
+        }
+
+        public ReteTuple getTuple() {
+            return this.reteTuple;
+        }
+
+        public Declaration getVariableDeclaration() {
+            return this.declaration;
+        }
+
+    }
+
+    public static class ObjectVariableContextEntry extends VariableContextEntryImpl {
+        public Object left;
+        public Object right;
+
+        public ObjectVariableContextEntry(final FieldExtractor extractor,
+                                          final Declaration declaration) {
+            super( extractor,
+                   declaration );
+        }
+
+        public void updateFromTuple(final InternalWorkingMemory workingMemory,
+                                    final ReteTuple tuple) {
+            this.reteTuple = tuple;
+            this.left = this.declaration.getExtractor().getValue( tuple.get( this.declaration ).getObject() );
+        }
+
+        public void updateFromFactHandle(final InternalWorkingMemory workingMemory,
+                                         final InternalFactHandle handle) {
+            this.object = handle.getObject();
+            this.right = this.extractor.getValue( handle.getObject() );
+        }
+    }
+
+    public static class LongVariableContextEntry extends VariableContextEntryImpl {
+        public long left;
+        public long right;
+
+        public LongVariableContextEntry(final FieldExtractor extractor,
+                                        final Declaration declaration) {
+            super( extractor,
+                   declaration );
+        }
+
+        public void updateFromTuple(final InternalWorkingMemory workingMemory,
+                                    final ReteTuple tuple) {
+            this.reteTuple = tuple;
+            this.left = this.declaration.getExtractor().getLongValue( tuple.get( this.declaration ).getObject() );
+        }
+
+        public void updateFromFactHandle(final InternalWorkingMemory workingMemory,
+                                         final InternalFactHandle handle) {
+            this.object = handle.getObject();
+            this.right = this.extractor.getLongValue( handle.getObject() );
+        }
+    }
+
+    public static class DoubleVariableContextEntry extends VariableContextEntryImpl {
+        public double left;
+        public double right;
+
+        public DoubleVariableContextEntry(final FieldExtractor extractor,
+                                          final Declaration declaration) {
+            super( extractor,
+                   declaration );
+        }
+
+        public void updateFromTuple(final InternalWorkingMemory workingMemory,
+                                    final ReteTuple tuple) {
+            this.reteTuple = tuple;
+            this.left = this.declaration.getExtractor().getDoubleValue( tuple.get( this.declaration ).getObject() );
+        }
+
+        public void updateFromFactHandle(final InternalWorkingMemory workingMemory,
+                                         final InternalFactHandle handle) {
+            this.object = handle.getObject();
+            this.right = this.extractor.getDoubleValue( handle.getObject() );
+        }
+    }
+
+    public static class BooleanVariableContextEntry extends VariableContextEntryImpl {
+        public boolean left;
+        public boolean right;
+
+        public BooleanVariableContextEntry(final FieldExtractor extractor,
+                                           final Declaration declaration) {
+            super( extractor,
+                   declaration );
+        }
+
+        public void updateFromTuple(final InternalWorkingMemory workingMemory,
+                                    final ReteTuple tuple) {
+            this.reteTuple = tuple;
+            this.left = this.declaration.getExtractor().getBooleanValue( tuple.get( this.declaration ).getObject() );
+        }
+
+        public void updateFromFactHandle(final InternalWorkingMemory workingMemory,
+                                         final InternalFactHandle handle) {
+            this.object = handle.getObject();
+            this.right = this.extractor.getBooleanValue( handle.getObject() );
+        }
+    }
+
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/ActivationGroup.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/ActivationGroup.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/ActivationGroup.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -1,7 +1,8 @@
 package org.drools.spi;
 
-import org.drools.util.Iterator;
+import java.util.Iterator;
 
+
 public interface ActivationGroup {
     public String getName();
 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Evaluator.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Evaluator.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Evaluator.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -20,7 +20,7 @@
 
 import org.drools.base.ValueType;
 import org.drools.base.evaluators.Operator;
-import org.drools.rule.VariableConstraint.VariableContextEntry;
+import org.drools.rule.VariableContextEntry;
 
 public interface Evaluator
     extends

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Restriction.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Restriction.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Restriction.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -21,4 +21,7 @@
 
     public boolean isAllowedCachedRight(ReteTuple tuple,
                                         ContextEntry context);
+    
+    public ContextEntry getContextEntry();
+    
 }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/AbstractBaseLinkedListNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/AbstractBaseLinkedListNode.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/AbstractBaseLinkedListNode.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -43,15 +43,15 @@
     /* (non-Javadoc)
      * @see org.drools.reteoo.LinkedListNode#getNext()
      */
-    public Entry getNext() {
+    public LinkedListNode getNext() {
         return this.next;
     }
 
     /* (non-Javadoc)
      * @see org.drools.reteoo.LinkedListNode#setNext(org.drools.reteoo.LinkedListNode)
      */
-    public void setNext(final Entry next) {
-        this.next = (LinkedListNode) next;
+    public void setNext(final LinkedListNode next) {
+        this.next = next;
     }
 
     /* (non-Javadoc)

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/LinkedList.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/LinkedList.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/LinkedList.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -1,6 +1,7 @@
 package org.drools.util;
 
 import java.io.Serializable;
+import java.util.NoSuchElementException;
 
 /*
  * Copyright 2005 JBoss Inc
@@ -246,16 +247,20 @@
         return true;
     }
 
-    public Iterator iterator() {
+    public LinkedListIterator iterator() {
         this.iterator.reset( this );
         return this.iterator;
     }
     
+    public java.util.Iterator javaUtilIterator() {
+        return new JavaUtilIterator( this );
+    }
+    
     /**
      * Returns a list iterator
      * @return
      */
-    public class LinkedListIterator implements Iterator {
+    public class LinkedListIterator {
         private LinkedList list;
         private LinkedListNode current;
         
@@ -264,14 +269,58 @@
             this.current = this.list.firstNode;
         }
         
-        public Entry next() {
+        public LinkedListNode next() {
             if( this.current == null ){
                 return null;
             }
             LinkedListNode node  = this.current;
-            current = (LinkedListNode) current.getNext();
+            current = current.getNext();
             return node;
         }
     }
+    
+    public static class JavaUtilIterator implements java.util.Iterator {
+        private LinkedList list;
+         private LinkedListNode currentNode;
+         private LinkedListNode nextNode;
+         private boolean immutable;
 
+         public JavaUtilIterator(LinkedList list) {
+             this(list, true);
+         }
+
+         public JavaUtilIterator(LinkedList list, boolean immutable) {
+             this.list = list;
+             this.currentNode = this.list.getFirst();
+             this.immutable = immutable;
+         }
+
+         public boolean hasNext() {
+             return (this.nextNode != null);
+         }
+
+         public Object next() {
+             this.currentNode = this.nextNode;
+             if ( this.currentNode != null ) {
+                 this.nextNode = this.currentNode.getNext();
+             } else {
+                 throw new NoSuchElementException( "No more elements to return" );
+             }
+             return this.currentNode;
+         }
+
+         public void remove() {
+             if ( this.immutable ) {
+                 throw new UnsupportedOperationException( "This  Iterator is immutable, you cannot call remove()" );
+             } 
+
+             if ( this.currentNode != null ) {
+                 this.list.remove( this.currentNode );
+                 this.currentNode = null;
+             } else {
+                 throw new IllegalStateException( "No item to remove. Call next() before calling remove()." );
+             }
+         }  
+   }    
+
 }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/LinkedListEntry.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/LinkedListEntry.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/LinkedListEntry.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -22,6 +22,8 @@
  * where the node can have different previous and next nodes in each list.
  */
 public class LinkedListEntry extends AbstractBaseLinkedListNode {
+
+    private static final long serialVersionUID = 4631711292464775664L;
     private Object object;
 
     public LinkedListEntry(final Object object) {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/LinkedListNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/LinkedListNode.java	2006-10-22 16:08:17 UTC (rev 7008)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/LinkedListNode.java	2006-10-22 21:11:12 UTC (rev 7009)
@@ -28,21 +28,21 @@
  */
 public interface LinkedListNode
     extends
-    Entry, Serializable {
+    Serializable {
 
     /**
      * Returns the next node
      * @return
      *      The next LinkedListNode
      */
-    public Entry getNext();
+    public LinkedListNode getNext();
 
     /**
      * Sets the next node 
      * @param next
      *      The next LinkedListNode
      */
-    public void setNext(Entry next);
+    public void setNext(LinkedListNode next);
 
     /**
      * Returns the previous node




More information about the jboss-svn-commits mailing list