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.database.PostBuilder;
import net.pterodactylus.sone.database.PostReplyBuilder;
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.Function;
@Override
public boolean apply(Sone sone) {
- return (sone == null) ? false : sone.getIdentity() instanceof OwnIdentity;
+ return (sone == null) ? false : sone.isLocal();
}
};
}
};
+ public static final Function<Sone, List<Post>> TO_POSTS = new Function<Sone, List<Post>>() {
+ @Override
+ public List<Post> apply(Sone sone) {
+ return (sone == null) ? Collections.<Post>emptyList() : sone.getPosts();
+ }
+ };
+
/**
* Returns the identity of this Sone.
*
boolean isLocal();
/**
- * Returns the request URI of this Sone.
- *
- * @return The request URI of this Sone
- */
- 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
- */
- 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
long getLatestEdition();
/**
- * Sets the latest edition of this Sone. If the given latest edition is not
- * greater than the current latest edition, the latest edition of this Sone is
- * not changed.
- *
- * @param latestEdition
- * The latest edition of this Sone
- */
- void setLatestEdition(long latestEdition);
-
- /**
* Return the time of the last inserted update of this Sone.
*
* @return The time of the update (in milliseconds since Jan 1, 1970 UTC)
Client getClient();
/**
- * Sets the client used by this Sone.
- *
- * @param client
- * The client used by this Sone, or {@code null}
- * @return This Sone (for method chaining)
- */
- Sone setClient(Client client);
-
- /**
* Returns whether this Sone is known.
*
* @return {@code true} if this Sone is known, {@code false} otherwise
*
* @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.
PostReplyBuilder newPostReplyBuilder(String postId) throws IllegalStateException;
+ Modifier modify();
+
+ interface Modifier {
+
+ Modifier setLatestEdition(long latestEdition);
+ Sone update();
+
+ }
+
}