X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2FSone.java;h=6df84dfc2a0eefdb66648995b7bc13b5c20f9c97;hb=51341976b36a42fec8fb093ef4079e4b618844f9;hp=166591f16be52ba5ff48dccac99703c7bbef4d8a;hpb=1deeb8285b1347baa98994b10322b548fd71a449;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 166591f..6df84df 100644 --- a/src/main/java/net/pterodactylus/sone/data/Sone.java +++ b/src/main/java/net/pterodactylus/sone/data/Sone.java @@ -23,17 +23,22 @@ import static net.pterodactylus.sone.data.Album.FLATTENER; import static net.pterodactylus.sone.data.Album.IMAGES; import java.util.Collection; +import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.Set; -import net.pterodactylus.sone.core.Options; +import javax.annotation.Nonnegative; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; + import net.pterodactylus.sone.freenet.wot.Identity; import net.pterodactylus.sone.freenet.wot.OwnIdentity; import net.pterodactylus.sone.template.SoneAccessor; import freenet.keys.FreenetURI; +import com.google.common.base.Function; import com.google.common.base.Predicate; import com.google.common.primitives.Ints; @@ -167,6 +172,25 @@ public interface Sone extends Identified, Fingerprintable, Comparable { } }; + public static final Function toSoneXmlUri = + new Function() { + @Nonnull + @Override + public String apply(@Nullable Sone input) { + return input.getRequestUri() + .setMetaString(new String[] { "sone.xml" }) + .toString(); + } + }; + + public static final Function> toAllAlbums = new Function>() { + @Override + public List apply(@Nullable Sone sone) { + return (sone == null) ? Collections.emptyList() : FLATTENER.apply( + sone.getRootAlbum()); + } + }; + /** * Returns the identity of this Sone. * @@ -535,7 +559,7 @@ public interface Sone extends Identified, Fingerprintable, Comparable { * * @return The options of this Sone */ - Options getOptions(); + SoneOptions getOptions(); /** * Sets the options of this Sone. @@ -544,6 +568,6 @@ public interface Sone extends Identified, Fingerprintable, Comparable { * The options of this Sone */ /* TODO - remove this method again, maybe add an option provider */ - void setOptions(Options options); + void setOptions(SoneOptions options); }