X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2FSone.java;h=4d0905ff68f043a33937fad19d6cd70a6eff7b21;hb=e4daf856661958be1f88f0d3861823df91c78b1e;hp=6df84dfc2a0eefdb66648995b7bc13b5c20f9c97;hpb=51341976b36a42fec8fb093ef4079e4b618844f9;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 6df84df..4d0905f 100644 --- a/src/main/java/net/pterodactylus/sone/data/Sone.java +++ b/src/main/java/net/pterodactylus/sone/data/Sone.java @@ -28,7 +28,6 @@ import java.util.Comparator; import java.util.List; import java.util.Set; -import javax.annotation.Nonnegative; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -36,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; @@ -172,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) { @@ -191,6 +180,15 @@ public interface Sone extends Identified, Fingerprintable, Comparable { } }; + public static final Function> toAllImages = new Function>() { + @Override + public List apply(@Nullable Sone sone) { + return (sone == null) ? Collections.emptyList() : + from(FLATTENER.apply(sone.getRootAlbum())) + .transformAndConcat(IMAGES).toList(); + } + }; + /** * Returns the identity of this Sone. * @@ -199,18 +197,6 @@ public interface Sone extends Identified, Fingerprintable, Comparable { Identity getIdentity(); /** - * Sets the identity of this Sone. The {@link Identity#getId() ID} of the - * identity has to match this Sone’s {@link #getId()}. - * - * @param identity - * The identity of this Sone - * @return This Sone (for method chaining) - * @throws IllegalArgumentException - * if the ID of the identity does not match this Sone’s ID - */ - Sone setIdentity(Identity identity) throws IllegalArgumentException; - - /** * Returns the name of this Sone. * * @return The name of this Sone @@ -232,15 +218,6 @@ public interface Sone extends Identified, Fingerprintable, Comparable { FreenetURI getRequestUri(); /** - * Sets the request URI of this Sone. - * - * @param requestUri - * The request URI of this Sone - * @return This Sone (for method chaining) - */ - Sone setRequestUri(FreenetURI requestUri); - - /** * Returns the insert URI of this Sone. * * @return The insert URI of this Sone @@ -248,15 +225,6 @@ public interface Sone extends Identified, Fingerprintable, Comparable { FreenetURI getInsertUri(); /** - * Sets the insert URI of this Sone. - * - * @param insertUri - * The insert URI of this Sone - * @return This Sone (for method chaining) - */ - Sone setInsertUri(FreenetURI insertUri); - - /** * Returns the latest edition of this Sone. * * @return The latest edition of this Sone @@ -363,7 +331,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. @@ -376,24 +344,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 @@ -553,6 +503,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.