Add hashCode() and equals().
[Sone.git] / src / main / java / net / pterodactylus / sone / text / LinkPart.java
index f531bab..a3f67ad 100644 (file)
@@ -17,6 +17,8 @@
 
 package net.pterodactylus.sone.text;
 
+import static com.google.common.base.Objects.equal;
+
 /**
  * {@link Part} implementation that can hold a link. A link contains of three
  * attributes: the link itself, the text that is shown instead of the link, and
@@ -89,14 +91,23 @@ public class LinkPart implements Part {
        // PART METHODS
        //
 
-       /**
-        * Returns the text of this part.
-        *
-        * @return The text of this part
-        */
        @Override
        public String getText() {
                return text;
        }
 
+       @Override
+       public int hashCode() {
+               return getLink().hashCode() ^ (getTitle().hashCode() << 16) ^ getText().hashCode();
+       }
+
+       @Override
+       public boolean equals(Object object) {
+               if (!(object instanceof LinkPart)) {
+                       return false;
+               }
+               LinkPart linkPart = (LinkPart) object;
+               return equal(getLink(), linkPart.getLink()) && equal(getText(), linkPart.getText()) && equal(getTitle(), linkPart.getTitle());
+       }
+
 }