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=7fd5fa6e9582af2c0b59a9004b461aef73d77b4a;hpb=4f686e5c5ddcf94ffdf074b953493c148fb2ab32;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 7fd5fa6..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() { @@ -79,7 +79,10 @@ public class Sone { private volatile long time; /** The profile of this Sone. */ - private volatile Profile profile; + 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(");