X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2FAlbum.java;h=44b37b77c40d64c1d39a0737826d0fdb3e90656d;hb=0acd68634f3e73c62087609c1faa2dfc53da506d;hp=b15bc009ba61c386b04fcaf3f37caf8565a40b93;hpb=4f92a116596bf5d42c5b8beadb5df2bc8149e809;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 b15bc00..44b37b7 100644 --- a/src/main/java/net/pterodactylus/sone/data/Album.java +++ b/src/main/java/net/pterodactylus/sone/data/Album.java @@ -1,5 +1,5 @@ /* - * Sone - Album.java - Copyright © 2011 David Roden + * Sone - Album.java - Copyright © 2011–2012 David Roden * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -18,13 +18,15 @@ package net.pterodactylus.sone.data; import java.util.ArrayList; +import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.UUID; -import net.pterodactylus.util.collection.Mapper; -import net.pterodactylus.util.collection.Mappers; +import net.pterodactylus.util.collection.IterableWrapper; +import net.pterodactylus.util.collection.filter.NotNullFilter; +import net.pterodactylus.util.collection.mapper.Mapper; import net.pterodactylus.util.object.Default; import net.pterodactylus.util.validation.Validation; @@ -35,6 +37,15 @@ import net.pterodactylus.util.validation.Validation; */ public class Album implements Fingerprintable { + /** Compares two {@link Album}s by {@link #getTitle()}. */ + public static final Comparator TITLE_COMPARATOR = new Comparator() { + + @Override + public int compare(Album leftAlbum, Album rightAlbum) { + return leftAlbum.getTitle().compareToIgnoreCase(rightAlbum.getTitle()); + } + }; + /** The ID of this album. */ private final String id; @@ -197,7 +208,7 @@ public class Album implements Fingerprintable { * @return The images in this album */ public List getImages() { - return Mappers.mappedList(imageIds, new Mapper() { + return IterableWrapper.wrap(imageIds).map(new Mapper() { @Override @SuppressWarnings("synthetic-access") @@ -205,7 +216,7 @@ public class Album implements Fingerprintable { return images.get(imageId); } - }); + }).filter(new NotNullFilter()).list(); } /**