*/
public class Sone implements Fingerprintable, Comparable<Sone> {
+ /**
+ * The possible values for the “show custom avatars” option.
+ *
+ * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
+ */
+ public static enum ShowCustomAvatars {
+
+ /** Never show custom avatars. */
+ NEVER,
+
+ /** Only show custom avatars of followed Sones. */
+ FOLLOWED,
+
+ /** Only show custom avatars of Sones you manually trust. */
+ MANUALLY_TRUSTED,
+
+ /** Only show custom avatars of automatically trusted Sones. */
+ TRUSTED,
+
+ /** Always show custom avatars. */
+ ALWAYS,
+
+ }
+
/** comparator that sorts Sones by their nice name. */
public static final Comparator<Sone> NICE_NAME_COMPARATOR = new Comparator<Sone>() {
private volatile long time;
/** The profile of this Sone. */
- private volatile Profile profile = new Profile();
+ private volatile Profile profile = new Profile(this);
/** The client used by the Sone. */
private volatile Client client;
/** 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();
}