X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2FSone.java;h=441112a99f1a78cd84aa58e0e72724ab9db29f23;hb=df0abbdc635a8b927474515bb100882e6d850336;hp=b23e48e95393e8f6b6f1a5e6a93e8aaaf5633788;hpb=239f08e37721401290f43596e8a7e9aa83aae980;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 b23e48e..441112a 100644 --- a/src/main/java/net/pterodactylus/sone/data/Sone.java +++ b/src/main/java/net/pterodactylus/sone/data/Sone.java @@ -35,6 +35,7 @@ import net.pterodactylus.sone.freenet.wot.Identity; import net.pterodactylus.sone.freenet.wot.OwnIdentity; import net.pterodactylus.sone.template.SoneAccessor; +import com.google.common.base.Optional; import freenet.keys.FreenetURI; import com.google.common.base.Function; @@ -47,7 +48,7 @@ import com.google.common.primitives.Ints; * * @author David ‘Bombe’ Roden */ -public interface Sone extends Identified, Fingerprintable, Comparable { +public interface Sone extends Fingerprintable, Comparable { /** * Enumeration for the possible states of a {@link Sone}. @@ -171,17 +172,6 @@ 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) { @@ -199,6 +189,15 @@ public interface Sone extends Identified, Fingerprintable, Comparable { } }; + Function> toAllPosts = new Function>() { + @Override + public Collection apply(@Nullable Sone sone) { + return (sone != null) ? sone.getPosts() : Collections.emptyList(); + } + }; + + String getId(); + /** * Returns the identity of this Sone. * @@ -341,7 +340,7 @@ public interface Sone extends Identified, Fingerprintable, Comparable { * * @return The friend Sones of this Sone */ - List getFriends(); + Collection getFriends(); /** * Returns whether this Sone has the given Sone as a friend Sone. @@ -354,24 +353,6 @@ public interface Sone extends Identified, Fingerprintable, Comparable { boolean hasFriend(String friendSoneId); /** - * Adds the given Sone as a friend Sone. - * - * @param friendSone - * The friend Sone to add - * @return This Sone (for method chaining) - */ - Sone addFriend(String friendSone); - - /** - * Removes the given Sone as a friend Sone. - * - * @param friendSoneId - * The ID of the friend Sone to remove - * @return This Sone (for method chaining) - */ - Sone removeFriend(String friendSoneId); - - /** * Returns the list of posts of this Sone, sorted by time, newest first. * * @return All posts of this Sone @@ -531,6 +512,7 @@ public interface Sone extends Identified, Fingerprintable, Comparable { * @return The root album of this Sone */ Album getRootAlbum(); + Optional getImageByInternalId(final String internalId); /** * Returns Sone-specific options.