X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Ftext%2FSonePart.java;h=23d9fc3836331136dfda6d702e1e9c0c6c59177b;hb=852bb107b491884ed09a1a223c67ea05a5de73b9;hp=b460a29ce5ee0bca50d04d33aa01711bcf5abd22;hpb=ab7fada54ed08b0a8d9ce9c606cbea29c3c3f819;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/text/SonePart.java b/src/main/java/net/pterodactylus/sone/text/SonePart.java index b460a29..23d9fc3 100644 --- a/src/main/java/net/pterodactylus/sone/text/SonePart.java +++ b/src/main/java/net/pterodactylus/sone/text/SonePart.java @@ -1,5 +1,5 @@ /* - * Sone - SoneLinkPart.java - Copyright © 2011 David Roden + * Sone - SonePart.java - Copyright © 2011–2013 David Roden * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -17,24 +17,79 @@ 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; + /** - * TODO + * {@link Part} implementation that stores a reference to a {@link Sone}. * * @author David ‘Bombe’ Roden */ public class SonePart implements Part { + /** The referenced {@link Sone}. */ private final Sone sone; + /** + * Creates a new Sone part. + * + * @param sone + * The referenced Sone + */ public SonePart(Sone sone) { this.sone = sone; } + // + // ACCESSORS + // + + @Override + public boolean isPlainText() { + return false; + } + + @Override + public boolean isFreenetLink() { + return false; + } + + /** + * Returns the referenced Sone. + * + * @return The referenced Sone + */ public Sone getSone() { return sone; } + // + // PART METHODS + // + + @Override + public String getText() { + 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()); + } + }