From: David ‘Bombe’ Roden Date: Wed, 7 Dec 2011 06:21:53 +0000 (+0100) Subject: Store avatar image in Sone. X-Git-Tag: 0.7.6^2~1^2~18 X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=commitdiff_plain;h=8cbc1e2bc1a94d2ceb6a635389ed4791a08a4889 Store avatar image in Sone. --- diff --git a/src/main/java/net/pterodactylus/sone/data/Sone.java b/src/main/java/net/pterodactylus/sone/data/Sone.java index 8b2ec2a..e36a306 100644 --- a/src/main/java/net/pterodactylus/sone/data/Sone.java +++ b/src/main/java/net/pterodactylus/sone/data/Sone.java @@ -173,6 +173,9 @@ public class Sone implements Fingerprintable, Comparable { /** Sone-specific options. */ private final Options options = new Options(); + /** The avatar of this Sone. */ + private volatile String avatar; + /** * Creates a new Sone. * @@ -764,6 +767,34 @@ public class Sone implements Fingerprintable, Comparable { } /** + * Returns the ID of the currently selected avatar image. + * + * @return The ID of the currently selected avatar image, or {@code null} if + * no avatar is selected. + */ + public String getAvatar() { + return avatar; + } + + /** + * Sets the avatar image. + * + * @param avatar + * The new avatar image, or {@code null} to not select an avatar + * image. + * @return This Sone + */ + public Sone setAvatar(Image avatar) { + if (avatar == null) { + this.avatar = null; + return this; + } + Validation.begin().isEqual("Image Owner", avatar.getSone(), this).check(); + this.avatar = avatar.getId(); + return this; + } + + /** * Returns Sone-specific options. * * @return The options of this Sone @@ -820,6 +851,8 @@ public class Sone implements Fingerprintable, Comparable { } fingerprint.append(')'); + fingerprint.append("Avatar(").append(avatar).append(')'); + return fingerprint.toString(); }