import net.pterodactylus.sone.database.PostBuilder;
import net.pterodactylus.sone.database.PostDatabase;
import net.pterodactylus.sone.database.PostReplyBuilder;
+import net.pterodactylus.sone.database.SoneBuilder;
import net.pterodactylus.sone.database.SoneProvider;
import net.pterodactylus.util.config.Configuration;
import net.pterodactylus.util.config.ConfigurationException;
private final Map<String, Image> allImages = new HashMap<String, Image>();
private final Multimap<String, Image> soneImages = HashMultimap.create();
+ private final MemoryBookmarkDatabase memoryBookmarkDatabase =
+ new MemoryBookmarkDatabase(this);
+
/**
* Creates a new memory database.
*
}
@Override
+ public SoneBuilder newSoneBuilder() {
+ return new MemorySoneBuilder();
+ }
+
+ @Override
public void storeSone(Sone sone) {
lock.writeLock().lock();
try {
public Collection<Sone> getSones() {
lock.readLock().lock();
try {
- return unmodifiableCollection(allSones.values());
+ return new HashSet<Sone>(allSones.values());
} finally {
lock.readLock().unlock();
}
}
}
+ @Override
+ public void bookmarkPost(String postId) {
+ memoryBookmarkDatabase.bookmarkPost(postId);
+ }
+
+ @Override
+ public void bookmarkPost(Post post) {
+ memoryBookmarkDatabase.bookmarkPost(post);
+ }
+
+ @Override
+ public void unbookmarkPost(Post post) {
+ memoryBookmarkDatabase.unbookmarkPost(post);
+ }
+
+ @Override
+ public boolean isPostBookmarked(Post post) {
+ return memoryBookmarkDatabase.isPostBookmarked(post);
+ }
+
+ @Override
+ public Set<Post> getBookmarkedPosts() {
+ return memoryBookmarkDatabase.getBookmarkedPosts();
+ }
+
//
// PACKAGE-PRIVATE METHODS
//
private Collection<PostReply> getRepliesFrom(String id) {
lock.readLock().lock();
try {
- return Collections.unmodifiableCollection(sonePostReplies.get(id));
+ return unmodifiableCollection(sonePostReplies.get(id));
} finally {
lock.readLock().unlock();
}