Rework the text parser.
[Sone.git] / src / main / java / net / pterodactylus / sone / text / SonePart.java
index 7c0c34f..23d9fc3 100644 (file)
 
 package net.pterodactylus.sone.text;
 
+import static com.google.common.base.Objects.equal;
+import static com.google.common.base.Objects.hashCode;
+import static net.pterodactylus.sone.template.SoneAccessor.getNiceName;
+
 import net.pterodactylus.sone.data.Sone;
 import net.pterodactylus.sone.template.SoneAccessor;
 
+import com.google.common.base.Objects;
+
 /**
  * {@link Part} implementation that stores a reference to a {@link Sone}.
  *
@@ -44,6 +50,16 @@ public class SonePart implements Part {
        // ACCESSORS
        //
 
+       @Override
+       public boolean isPlainText() {
+               return false;
+       }
+
+       @Override
+       public boolean isFreenetLink() {
+               return false;
+       }
+
        /**
         * Returns the referenced Sone.
         *
@@ -59,7 +75,21 @@ public class SonePart implements Part {
 
        @Override
        public String getText() {
-               return SoneAccessor.getNiceName(sone);
+               return getNiceName(sone);
+       }
+
+       @Override
+       public int hashCode() {
+               return Objects.hashCode(sone);
+       }
+
+       @Override
+       public boolean equals(Object object) {
+               if (!(object instanceof SonePart)) {
+                       return false;
+               }
+               SonePart sonePart = (SonePart) object;
+               return equal(getSone(), sonePart.getSone());
        }
 
 }