/*
- * 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
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;
*/
public class Album implements Fingerprintable {
+ /** Compares two {@link Album}s by {@link #getTitle()}. */
+ public static final Comparator<Album> TITLE_COMPARATOR = new Comparator<Album>() {
+
+ @Override
+ public int compare(Album leftAlbum, Album rightAlbum) {
+ return leftAlbum.getTitle().compareToIgnoreCase(rightAlbum.getTitle());
+ }
+ };
+
/** The ID of this album. */
private final String id;
* @return The images in this album
*/
public List<Image> getImages() {
- return Mappers.mappedList(imageIds, new Mapper<String, Image>() {
+ return IterableWrapper.wrap(imageIds).map(new Mapper<String, Image>() {
@Override
@SuppressWarnings("synthetic-access")
return images.get(imageId);
}
- });
+ }).filter(new NotNullFilter()).list();
}
/**