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(");