X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2FAlbum.java;h=70478f34f3e112a55abe9337e5da70bd6a0cfd3b;hb=20436264b1f2a05c6e3e3e64290656c732e77dba;hp=0c8780c14084f9d118e9713ebf1bca3712656106;hpb=f855be86d4d02a29c4603522c793a3b0eecc961c;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/data/Album.java b/src/main/java/net/pterodactylus/sone/data/Album.java index 0c8780c..70478f3 100644 --- a/src/main/java/net/pterodactylus/sone/data/Album.java +++ b/src/main/java/net/pterodactylus/sone/data/Album.java @@ -21,13 +21,16 @@ import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.base.Preconditions.checkState; import static java.util.Arrays.asList; +import static java.util.Collections.emptyList; import java.util.ArrayList; +import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.UUID; +import javax.annotation.Nonnull; import com.google.common.base.Function; import com.google.common.base.Optional; @@ -59,7 +62,11 @@ public class Album implements Identified, Fingerprintable { public static final Function> FLATTENER = new Function>() { @Override + @Nonnull public List apply(Album album) { + if (album == null) { + return emptyList(); + } List albums = new ArrayList(); albums.add(album); for (Album subAlbum : album.getAlbums()) { @@ -73,8 +80,9 @@ public class Album implements Identified, Fingerprintable { public static final Function> IMAGES = new Function>() { @Override + @Nonnull public List apply(Album album) { - return album.getImages(); + return (album != null) ? album.getImages() : Collections.emptyList(); } }; @@ -408,6 +416,16 @@ public class Album implements Identified, Fingerprintable { } /** + * Returns whether this album is an identitiy’s root album. + * + * @return {@code true} if this album is an identity’s root album, {@code + * false} otherwise + */ + public boolean isRoot() { + return parent == null; + } + + /** * Returns the parent album of this album. * * @return The parent album of this album, or {@code null} if this album