[jboss-svn-commits] JBL Code SVN: r6215 - labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Sep 13 17:34:55 EDT 2006


Author: mark.proctor at jboss.com
Date: 2006-09-13 17:34:53 -0400 (Wed, 13 Sep 2006)
New Revision: 6215

Added:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/TupleMatch.java
Log:
JBRULES-484 refactor the core reteoo code for sinle and composite propagations
-BetaNode now uses Single and Composite TupleMatchFactories

Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/TupleMatch.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/TupleMatch.java	2006-09-13 21:34:04 UTC (rev 6214)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/TupleMatch.java	2006-09-13 21:34:53 UTC (rev 6215)
@@ -0,0 +1,39 @@
+package org.drools.reteoo;
+
+import org.drools.common.InternalWorkingMemory;
+import org.drools.spi.PropagationContext;
+import org.drools.util.LinkedListNode;
+
+public interface TupleMatch extends LinkedListNode {
+
+    /**
+     * Return the parent <code>ReteTuple</code>
+     * 
+     * @return the <code>ReteTuple</code>
+     */
+    public abstract ReteTuple getTuple();
+
+    /**
+     * Returns the referenced <code>ObjectMatches</code> which provides the 
+     * <code>FactHandleImpl</code> the <code>ReteTuple</code> is joined with.
+     * 
+     * @return the <code>ObjectMatches</code>
+     */
+    public abstract ObjectMatches getObjectMatches();
+
+    /**
+     * Adds a resulting join to the <code>List</code>. A join is made for each <code>TupleSink</code>.
+     * 
+     * @param tuple
+     */
+    public abstract void addJoinedTuple(final ReteTuple tuple);
+
+    public abstract void propagateRetractTuple(final PropagationContext context,
+                                               final InternalWorkingMemory workingMemory);
+
+    public abstract void propagateModifyTuple(final PropagationContext context,
+                                              final InternalWorkingMemory workingMemory);
+
+    public abstract ReteTuple getTupleForSink(TupleSink sink);
+
+}
\ No newline at end of file




More information about the jboss-svn-commits mailing list