[Mulgara-svn] r704 - branches/mgr-61-sparql/src/jar/resolver-spi/java/org/mulgara/resolver/spi

pag at mulgara.org pag at mulgara.org
Tue Mar 25 05:10:32 UTC 2008


Author: pag
Date: 2008-03-24 22:10:31 -0700 (Mon, 24 Mar 2008)
New Revision: 704

Modified:
   branches/mgr-61-sparql/src/jar/resolver-spi/java/org/mulgara/resolver/spi/TuplesContext.java
Log:
Allows the Tuples to be updated to keep up with clone operations.

Modified: branches/mgr-61-sparql/src/jar/resolver-spi/java/org/mulgara/resolver/spi/TuplesContext.java
===================================================================
--- branches/mgr-61-sparql/src/jar/resolver-spi/java/org/mulgara/resolver/spi/TuplesContext.java	2008-03-24 22:07:15 UTC (rev 703)
+++ branches/mgr-61-sparql/src/jar/resolver-spi/java/org/mulgara/resolver/spi/TuplesContext.java	2008-03-25 05:10:31 UTC (rev 704)
@@ -14,6 +14,7 @@
 import org.jrdf.graph.Node;
 import org.mulgara.query.QueryException;
 import org.mulgara.query.Variable;
+import org.mulgara.query.filter.Context;
 import org.mulgara.resolver.spi.GlobalizeException;
 import org.mulgara.resolver.spi.ResolverSession;
 import org.mulgara.store.tuples.Tuples;
@@ -21,15 +22,16 @@
 
 /**
  * A {@link org.mulgara.query.filter.Context} based on {@link org.mulgara.store.tuples.Tuples}.
- * This is used to resolve values out of a given Tuples in a given Context. Once created, this
- * Context is immutable.
+ * This is used to resolve values out of a given Tuples in a given Context. The Tuples used
+ * must be the Tuples being iterated on by the Filter, else synchronization will be lost
+ * and the results will be wrong.
  *
  * @created Mar 24, 2008
  * @author Paul Gearon
  * @copyright &copy; 2008 <a href="mailto:pgearon at users.sourceforge.net">Paul Gearon</a>
  * @licence <a href="{@docRoot}/../../LICENCE.txt">Open Software License v3.0</a>
  */
-public class TuplesContext {
+public class TuplesContext implements Context {
 
   /** An invalid index to indicate that a variable is not bound */
   static final int NOT_BOUND = -1;
@@ -50,8 +52,18 @@
     this.session = session;
   }
 
-  
+
   /**
+   * Updates the Tuples that this context applies to. Usually done when a clone of the original
+   * tuples is about to be used.
+   * @param tuples The tuples to set
+   */
+  public void setTuples(Tuples tuples) {
+    this.tuples = tuples;
+  }
+
+
+  /**
    * Gets the current binding to a local value (a long) for a given internal column number.
    * @return the value in the column number specified in the current context.
    */




More information about the Mulgara-svn mailing list