X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2FSone.java;h=e36a3063f2d1ba37e7bea1e24f3edfe903079a28;hb=8cbc1e2bc1a94d2ceb6a635389ed4791a08a4889;hp=006765a4261a5ae74cc0b0ac49316db8e0a2b576;hpb=bb34588a1b7a80a2a98574d9b928f1131ab88a79;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 006765a..e36a306 100644 --- a/src/main/java/net/pterodactylus/sone/data/Sone.java +++ b/src/main/java/net/pterodactylus/sone/data/Sone.java @@ -115,6 +115,15 @@ public class Sone implements Fingerprintable, Comparable { }; + /** Filter that matches Sones that have at least one album. */ + public static final Filter HAS_ALBUM_FILTER = new Filter() { + + @Override + public boolean filterObject(Sone sone) { + return !sone.getAlbums().isEmpty(); + } + }; + /** The logger. */ private static final Logger logger = Logging.getLogger(Sone.class); @@ -164,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. * @@ -755,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 @@ -811,6 +851,8 @@ public class Sone implements Fingerprintable, Comparable { } fingerprint.append(')'); + fingerprint.append("Avatar(").append(avatar).append(')'); + return fingerprint.toString(); }