[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 © 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