Author: jukka
Date: Wed Mar  9 17:29:56 2011
New Revision: 1079904

URL: http://svn.apache.org/viewvc?rev=1079904&view=rev
Log:
TIKA-601: [patch] objects that compareTo each other, should also equals each 
other

Patch by Dave Brosius

Modified:
    tika/trunk/tika-core/src/main/java/org/apache/tika/mime/Magic.java
    tika/trunk/tika-core/src/main/java/org/apache/tika/mime/MimeType.java
    
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetMatch.java

Modified: tika/trunk/tika-core/src/main/java/org/apache/tika/mime/Magic.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-core/src/main/java/org/apache/tika/mime/Magic.java?rev=1079904&r1=1079903&r2=1079904&view=diff
==============================================================================
--- tika/trunk/tika-core/src/main/java/org/apache/tika/mime/Magic.java 
(original)
+++ tika/trunk/tika-core/src/main/java/org/apache/tika/mime/Magic.java Wed Mar  
9 17:29:56 2011
@@ -78,4 +78,26 @@ class Magic implements Clause, Comparabl
         return diff;
     }
 
+    public boolean equals(Object o) {
+        if (o instanceof Magic) {
+            Magic that = (Magic) o;
+
+            if (this.size() != that.size()) {
+                return false;
+            }
+
+            if (!this.type.equals(that.type)) {
+                return false;
+            }
+
+            return this.toString().equals(that.toString());
+        }
+
+        return false;
+    }
+
+    public int hashCode() {
+        return size() ^ type.hashCode() ^ toString().hashCode();
+    }
+
 }

Modified: tika/trunk/tika-core/src/main/java/org/apache/tika/mime/MimeType.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-core/src/main/java/org/apache/tika/mime/MimeType.java?rev=1079904&r1=1079903&r2=1079904&view=diff
==============================================================================
--- tika/trunk/tika-core/src/main/java/org/apache/tika/mime/MimeType.java 
(original)
+++ tika/trunk/tika-core/src/main/java/org/apache/tika/mime/MimeType.java Wed 
Mar  9 17:29:56 2011
@@ -294,6 +294,19 @@ public final class MimeType implements C
 
     //--------------------------------------------------------------< Object >
 
+    public boolean equals(Object o) {
+        if (o instanceof MimeType) {
+            MimeType that = (MimeType) o;
+            return this.type.equals(that.type);
+        }
+
+        return false;
+    }
+
+    public int hashCode() {
+        return type.hashCode();
+    }
+
     /**
      * Returns the name of this media type.
      *

Modified: 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetMatch.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetMatch.java?rev=1079904&r1=1079903&r2=1079904&view=diff
==============================================================================
--- 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetMatch.java
 (original)
+++ 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetMatch.java
 Wed Mar  9 17:29:56 2011
@@ -227,6 +227,28 @@ public class CharsetMatch implements Com
         }
         return compareResult;
     }
+
+    /**
+     * compare this CharsetMatch to another based on confidence value
+     * @param o the CharsetMatch object to compare against
+     * @return true if equal
+     */
+    public boolean equals(Object o) {
+        if (o instanceof CharsetMatch) {
+            CharsetMatch that = (CharsetMatch) o;
+            return (this.fConfidence == that.fConfidence);
+        }
+
+        return false;
+    }
+
+    /**
+     * generates a hashCode based on the confidence value
+     * @return the hashCode
+     */
+    public int hashCode() {
+        return fConfidence;
+    }
     
     /*
      *  Constructor.  Implementation internal


Reply via email to