import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
+import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArraySet;
private volatile boolean known;
/** All posts. */
- private final Set<Post> posts = new CopyOnWriteArraySet<Post>();
+ private final Collection<Post> posts = new HashSet<Post>();
/** All replies. */
private final Set<PostReply> replies = new CopyOnWriteArraySet<PostReply>();
* @param local
* {@code true} if the Sone is a local Sone, {@code false} otherwise
*/
- public SoneImpl(Database database, Identity identity, boolean local, long time, Client client) {
+ public SoneImpl(Database database, Identity identity, boolean local, long time, Client client, Collection<Post> posts) {
this.database = database;
this.id = identity.getId();
this.identity = identity;
this.local = local;
this.time = time;
this.client = client;
+ this.posts.addAll(posts);
}
//
* @return This Sone (for method chaining)
*/
public Sone setPosts(Collection<Post> posts) {
- synchronized (this) {
- this.posts.clear();
- this.posts.addAll(posts);
- }
return this;
}