[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