X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2FSone.java;h=c145b82cadcafa721655ddcd8e6601e712b48fff;hb=43cfb3293651b162c4b2d7aac4c5ecaf4efc3fc2;hp=a0f87b227d257ade161c5e01ce251da237eb479c;hpb=22788933e4a2b4ee39f298ebcefda5b93b0496fb;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/data/Sone.java b/src/main/java/net/pterodactylus/sone/data/Sone.java index a0f87b2..c145b82 100644 --- a/src/main/java/net/pterodactylus/sone/data/Sone.java +++ b/src/main/java/net/pterodactylus/sone/data/Sone.java @@ -40,7 +40,7 @@ import freenet.keys.FreenetURI; * * @author David ‘Bombe’ Roden */ -public class Sone { +public class Sone implements Fingerprintable { /** comparator that sorts Sones by their nice name. */ public static final Comparator NICE_NAME_COMPARATOR = new Comparator() { @@ -81,6 +81,9 @@ public class Sone { /** The profile of this Sone. */ private volatile Profile profile = new Profile(); + /** The client used by the Sone. */ + private volatile Client client; + /** All friend Sones. */ private final Set friendSones = Collections.synchronizedSet(new HashSet()); @@ -281,6 +284,27 @@ public class Sone { } /** + * Returns the client used by this Sone. + * + * @return The client used by this Sone, or {@code null} + */ + public Client getClient() { + return client; + } + + /** + * Sets the client used by this Sone. + * + * @param client + * The client used by this Sone, or {@code null} + * @return This Sone (for method chaining) + */ + public Sone setClient(Client client) { + this.client = client; + return this; + } + + /** * Returns all friend Sones of this Sone. * * @return The friend Sones of this Sone @@ -556,14 +580,14 @@ public class Sone { return this; } + // + // FINGERPRINTABLE METHODS + // + /** - * Returns a fingerprint of this Sone. The fingerprint only depends on data - * that is actually stored when a Sone is inserted. The fingerprint can be - * used to detect changes in Sone data and can also be used to detect if - * previous changes are reverted. - * - * @return The fingerprint of this Sone + * {@inheritDoc} */ + @Override public synchronized String getFingerprint() { StringBuilder fingerprint = new StringBuilder(); fingerprint.append("Profile(");