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;
*
* @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
*/
-public interface Sone extends Identified, Fingerprintable, Comparable<Sone> {
+public interface Sone extends Fingerprintable, Comparable<Sone> {
/**
* Enumeration for the possible states of a {@link Sone}.
}
};
- 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();
- }
- };
-
public static final Function<Sone, List<Album>> toAllAlbums = new Function<Sone, List<Album>>() {
@Override
public List<Album> apply(@Nullable Sone sone) {
}
};
+ Function<Sone, Collection<Post>> toAllPosts = new Function<Sone, Collection<Post>>() {
+ @Override
+ public Collection<Post> apply(@Nullable Sone sone) {
+ return (sone != null) ? sone.getPosts() : Collections.<Post>emptyList();
+ }
+ };
+
+ String getId();
+
/**
* Returns the identity of this Sone.
*
*
* @return The friend Sones of this Sone
*/
- List<String> getFriends();
+ Collection<String> getFriends();
/**
* Returns whether this Sone has the given Sone as a friend Sone.
* @return The root album of this Sone
*/
Album getRootAlbum();
+ Optional<Image> getImageByInternalId(final String internalId);
/**
* Returns Sone-specific options.