/** Sone-specific options. */
private final Options options = new Options();
+ /** The avatar of this Sone. */
+ private volatile String avatar;
+
/**
* Creates a new Sone.
*
}
/**
+ * 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
}
fingerprint.append(')');
+ fingerprint.append("Avatar(").append(avatar).append(')');
+
return fingerprint.toString();
}