- /** Filter to remove Sones that have not been downloaded. */
- public static final Predicate<Sone> EMPTY_SONE_FILTER = new Predicate<Sone>() {
-
- @Override
- public boolean apply(Sone sone) {
- return (sone != null) && (sone.getTime() != 0);
- }
- };
-
- /** Filter that matches all {@link Sone#isLocal() local Sones}. */
- public static final Predicate<Sone> LOCAL_SONE_FILTER = new Predicate<Sone>() {
-
- @Override
- public boolean apply(Sone sone) {
- return (sone != null) && (sone.getIdentity() instanceof OwnIdentity);
- }
-
- };
-
- /** Filter that matches Sones that have at least one album. */
- public static final Predicate<Sone> HAS_ALBUM_FILTER = new Predicate<Sone>() {
-
- @Override
- public boolean apply(Sone sone) {
- return (sone != null) && !sone.getRootAlbum().getAlbums().isEmpty();
- }
- };
-
- public static final Function<Sone, String> toSoneXmlUri =
- new Function<Sone, String>() {
- @Nonnull
- @Override
- public String apply(@Nullable Sone input) {
- return input.getRequestUri()
- .setMetaString(new String[] { "sone.xml" })
- .toString();
- }
- };
-