[Mulgara-svn] r2089 - in trunk/src/jar: resolver-nodetype/java/org/mulgara/resolver/nodetype resolver-null/java/org/mulgara/resolver/nullres resolver-prefix/java/org/mulgara/resolver/prefix resolver-spi/java/org/mulgara/resolver/spi resolver-store/java/org/mulgara/store/statement/xa store-stringpool-memory/java/org/mulgara/store/stringpool/memory store-stringpool-xa11/java/org/mulgara/store/stringpool/xa11 tuples/java/org/mulgara/store/tuples tuples-hybrid/java/org/mulgara/store/xa
pag at mulgara.org
pag at mulgara.org
Thu Jan 5 21:30:08 UTC 2012
Author: pag
Date: 2012-01-05 21:30:07 +0000 (Thu, 05 Jan 2012)
New Revision: 2089
Modified:
trunk/src/jar/resolver-nodetype/java/org/mulgara/resolver/nodetype/TuplesWrapperResolution.java
trunk/src/jar/resolver-null/java/org/mulgara/resolver/nullres/NullResolution.java
trunk/src/jar/resolver-prefix/java/org/mulgara/resolver/prefix/TuplesWrapperResolution.java
trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/TuplesContext.java
trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/TuplesWrapperResolution.java
trunk/src/jar/resolver-store/java/org/mulgara/store/statement/xa/TripleAVLFile.java
trunk/src/jar/store-stringpool-memory/java/org/mulgara/store/stringpool/memory/MemoryStringPoolImpl.java
trunk/src/jar/store-stringpool-xa11/java/org/mulgara/store/stringpool/xa11/XA11StringPoolImpl.java
trunk/src/jar/tuples-hybrid/java/org/mulgara/store/xa/HybridTuples.java
trunk/src/jar/tuples/java/org/mulgara/store/tuples/AbstractTuples.java
trunk/src/jar/tuples/java/org/mulgara/store/tuples/LeftJoin.java
trunk/src/jar/tuples/java/org/mulgara/store/tuples/UnconstrainedTuples.java
trunk/src/jar/tuples/java/org/mulgara/store/tuples/WrappedTuples.java
Log:
Added hashCode methods to match equality methods
Modified: trunk/src/jar/resolver-nodetype/java/org/mulgara/resolver/nodetype/TuplesWrapperResolution.java
===================================================================
--- trunk/src/jar/resolver-nodetype/java/org/mulgara/resolver/nodetype/TuplesWrapperResolution.java 2012-01-05 19:35:21 UTC (rev 2088)
+++ trunk/src/jar/resolver-nodetype/java/org/mulgara/resolver/nodetype/TuplesWrapperResolution.java 2012-01-05 21:30:07 UTC (rev 2089)
@@ -129,6 +129,12 @@
return constraint.equals(t.constraint) && tuples.equals(t.tuples);
}
+ /**
+ * Added to match {@link #equals(Object)}.
+ */
+ public int hashCode() {
+ return constraint.hashCode() ^ tuples.hashCode();
+ }
/**
* Clone the tuples and constraint, and re-wrap them in a new object.
Modified: trunk/src/jar/resolver-null/java/org/mulgara/resolver/nullres/NullResolution.java
===================================================================
--- trunk/src/jar/resolver-null/java/org/mulgara/resolver/nullres/NullResolution.java 2012-01-05 19:35:21 UTC (rev 2088)
+++ trunk/src/jar/resolver-null/java/org/mulgara/resolver/nullres/NullResolution.java 2012-01-05 21:30:07 UTC (rev 2089)
@@ -28,6 +28,7 @@
import org.mulgara.store.tuples.Annotation;
import org.mulgara.store.tuples.RowComparator;
import org.mulgara.store.tuples.Tuples;
+import org.mulgara.store.tuples.TuplesOperations;
/**
* An empty set of results, equivalent to {@link org.mulgara.store.tuples.EmptyTuples}.
@@ -226,4 +227,11 @@
public boolean equals(Object o) {
return (o instanceof Resolution) && AbstractTuples.equals(this, (Resolution)o);
}
+
+ /**
+ * Added to match {@link #equals(Object)}. Throws {@link java.lang.UnsupportedOperationException}.
+ */
+ public int hashCode() {
+ return TuplesOperations.hashCode(this);
+ }
}
Modified: trunk/src/jar/resolver-prefix/java/org/mulgara/resolver/prefix/TuplesWrapperResolution.java
===================================================================
--- trunk/src/jar/resolver-prefix/java/org/mulgara/resolver/prefix/TuplesWrapperResolution.java 2012-01-05 19:35:21 UTC (rev 2088)
+++ trunk/src/jar/resolver-prefix/java/org/mulgara/resolver/prefix/TuplesWrapperResolution.java 2012-01-05 21:30:07 UTC (rev 2089)
@@ -113,6 +113,12 @@
return constraint.equals(t.constraint) && tuples.equals(t.tuples);
}
+ /**
+ * Added to match {@link #equals(Object)}.
+ */
+ public int hashCode() {
+ return constraint.hashCode() ^ tuples.hashCode();
+ }
/**
* Clone the tuples and constraint, and re-wrap them in a new object.
Modified: trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/TuplesContext.java
===================================================================
--- trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/TuplesContext.java 2012-01-05 19:35:21 UTC (rev 2088)
+++ trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/TuplesContext.java 2012-01-05 21:30:07 UTC (rev 2089)
@@ -146,4 +146,7 @@
return this == o;
}
+ public int hashCode() {
+ return super.hashCode();
+ }
}
Modified: trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/TuplesWrapperResolution.java
===================================================================
--- trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/TuplesWrapperResolution.java 2012-01-05 19:35:21 UTC (rev 2088)
+++ trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/TuplesWrapperResolution.java 2012-01-05 21:30:07 UTC (rev 2089)
@@ -131,6 +131,13 @@
/**
+ * Added to match {@link #equals(Object)}.
+ */
+ public int hashCode() {
+ return constraint.hashCode() ^ tuples.hashCode();
+ }
+
+ /**
* Clone the tuples and constraint, and re-wrap them in a new object.
*/
public Object clone() {
Modified: trunk/src/jar/resolver-store/java/org/mulgara/store/statement/xa/TripleAVLFile.java
===================================================================
--- trunk/src/jar/resolver-store/java/org/mulgara/store/statement/xa/TripleAVLFile.java 2012-01-05 19:35:21 UTC (rev 2088)
+++ trunk/src/jar/resolver-store/java/org/mulgara/store/statement/xa/TripleAVLFile.java 2012-01-05 21:30:07 UTC (rev 2089)
@@ -2218,6 +2218,15 @@
}
+ /**
+ * Added to match {@link #equals(Object)}.
+ * Based on the same approach as {@link AbstractTuples#hashCode()}
+ */
+ public int hashCode() {
+ return TuplesOperations.hashCode(this);
+ }
+
+
private boolean advance() throws TuplesException {
if (beforeStart) {
// Reset the iterator position to the start.
Modified: trunk/src/jar/store-stringpool-memory/java/org/mulgara/store/stringpool/memory/MemoryStringPoolImpl.java
===================================================================
--- trunk/src/jar/store-stringpool-memory/java/org/mulgara/store/stringpool/memory/MemoryStringPoolImpl.java 2012-01-05 19:35:21 UTC (rev 2088)
+++ trunk/src/jar/store-stringpool-memory/java/org/mulgara/store/stringpool/memory/MemoryStringPoolImpl.java 2012-01-05 21:30:07 UTC (rev 2089)
@@ -52,6 +52,7 @@
import org.mulgara.store.tuples.Annotation;
import org.mulgara.store.tuples.RowComparator;
import org.mulgara.store.tuples.Tuples;
+import org.mulgara.store.tuples.TuplesOperations;
import org.mulgara.store.xa.XANodePool;
import org.mulgara.store.xa.XAStringPool;
@@ -710,6 +711,13 @@
}
/**
+ * Added to match {@link #equals(Object)}.
+ */
+ public int hashCode() {
+ return TuplesOperations.hashCode(this);
+ }
+
+ /**
* {@inheritDoc}
*/
public String toString() {
Modified: trunk/src/jar/store-stringpool-xa11/java/org/mulgara/store/stringpool/xa11/XA11StringPoolImpl.java
===================================================================
--- trunk/src/jar/store-stringpool-xa11/java/org/mulgara/store/stringpool/xa11/XA11StringPoolImpl.java 2012-01-05 19:35:21 UTC (rev 2088)
+++ trunk/src/jar/store-stringpool-xa11/java/org/mulgara/store/stringpool/xa11/XA11StringPoolImpl.java 2012-01-05 21:30:07 UTC (rev 2089)
@@ -49,6 +49,7 @@
import org.mulgara.store.tuples.RowComparator;
import org.mulgara.store.tuples.SimpleTuplesFormat;
import org.mulgara.store.tuples.Tuples;
+import org.mulgara.store.tuples.TuplesOperations;
import org.mulgara.store.xa.AVLComparator;
import org.mulgara.store.xa.AVLFile;
import org.mulgara.store.xa.AVLNode;
@@ -2123,6 +2124,14 @@
}
+ /**
+ * Added to match {@link #equals(Object)}.
+ */
+ public int hashCode() {
+ // This works with the above defined equals method
+ return TuplesOperations.hashCode(this);
+ }
+
/** @see java.lang.Object#toString() */
public String toString() {
return SimpleTuplesFormat.format(this);
Modified: trunk/src/jar/tuples/java/org/mulgara/store/tuples/AbstractTuples.java
===================================================================
--- trunk/src/jar/tuples/java/org/mulgara/store/tuples/AbstractTuples.java 2012-01-05 19:35:21 UTC (rev 2088)
+++ trunk/src/jar/tuples/java/org/mulgara/store/tuples/AbstractTuples.java 2012-01-05 21:30:07 UTC (rev 2089)
@@ -492,6 +492,14 @@
}
/**
+ * Added to match {@link #equals(Object)}.
+ * Builds code based on content.
+ */
+ public int hashCode() {
+ return TuplesOperations.hashCode(this);
+ }
+
+ /**
* Tests if two tuples are identical
* @param first The first tuples to test.
* @param second The second tuples to test.
Modified: trunk/src/jar/tuples/java/org/mulgara/store/tuples/LeftJoin.java
===================================================================
--- trunk/src/jar/tuples/java/org/mulgara/store/tuples/LeftJoin.java 2012-01-05 19:35:21 UTC (rev 2088)
+++ trunk/src/jar/tuples/java/org/mulgara/store/tuples/LeftJoin.java 2012-01-05 21:30:07 UTC (rev 2089)
@@ -519,6 +519,13 @@
right.equals(((MergedComparator)o).right);
}
+ /**
+ * Added to match {@link #equals(Object)}.
+ */
+ public int hashCode() {
+ return left.hashCode() + 3 * right.hashCode();
+ }
+
}
/**
@@ -757,5 +764,11 @@
return (o instanceof Tuples) && AbstractTuples.equals(this, (Tuples)o);
}
+ /**
+ * Added to match {@link #equals(Object)}.
+ */
+ public int hashCode() {
+ return TuplesOperations.hashCode(this);
+ }
}
}
Modified: trunk/src/jar/tuples/java/org/mulgara/store/tuples/UnconstrainedTuples.java
===================================================================
--- trunk/src/jar/tuples/java/org/mulgara/store/tuples/UnconstrainedTuples.java 2012-01-05 19:35:21 UTC (rev 2088)
+++ trunk/src/jar/tuples/java/org/mulgara/store/tuples/UnconstrainedTuples.java 2012-01-05 21:30:07 UTC (rev 2089)
@@ -196,6 +196,13 @@
}
/**
+ * Added to match {@link #equals(Object)}.
+ */
+ public int hashCode() {
+ return super.hashCode();
+ }
+
+ /**
* Returns itself.
*
* @return itself.
Modified: trunk/src/jar/tuples/java/org/mulgara/store/tuples/WrappedTuples.java
===================================================================
--- trunk/src/jar/tuples/java/org/mulgara/store/tuples/WrappedTuples.java 2012-01-05 19:35:21 UTC (rev 2088)
+++ trunk/src/jar/tuples/java/org/mulgara/store/tuples/WrappedTuples.java 2012-01-05 21:30:07 UTC (rev 2089)
@@ -335,6 +335,13 @@
}
/**
+ * Added to match {@link #equals(Object)}.
+ */
+ public int hashCode() {
+ return TuplesOperations.hashCode(this);
+ }
+
+ /**
* Copied from AbstractTuples.
*/
public Annotation getAnnotation(Class<? extends Annotation> annotationClass) throws TuplesException {
Modified: trunk/src/jar/tuples-hybrid/java/org/mulgara/store/xa/HybridTuples.java
===================================================================
--- trunk/src/jar/tuples-hybrid/java/org/mulgara/store/xa/HybridTuples.java 2012-01-05 19:35:21 UTC (rev 2088)
+++ trunk/src/jar/tuples-hybrid/java/org/mulgara/store/xa/HybridTuples.java 2012-01-05 21:30:07 UTC (rev 2089)
@@ -530,6 +530,13 @@
/**
+ * Added to match {@link #equals(Object)}. Copy of {@link org.mulgara.store.tuples.AbstractTuples#hashCode()}
+ */
+ public int hashCode() {
+ return TuplesOperations.hashCode(this);
+ }
+
+ /**
* METHOD TO DO
*
* @return RETURNED VALUE TO DO
More information about the Mulgara-svn
mailing list