1 package net.pterodactylus.sone.database.memory;
3 import net.pterodactylus.sone.data.LocalSone;
4 import net.pterodactylus.sone.data.Sone;
5 import net.pterodactylus.sone.data.impl.AbstractSoneBuilder;
6 import net.pterodactylus.sone.data.impl.SoneImpl;
7 import net.pterodactylus.sone.database.Database;
8 import net.pterodactylus.sone.freenet.wot.OwnIdentity;
10 import com.google.common.base.Preconditions;
13 * Memory-based {@link AbstractSoneBuilder} implementation.
15 * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
17 public class MemorySoneBuilder extends AbstractSoneBuilder {
19 private final Database database;
21 public MemorySoneBuilder(Database database) {
22 this.database = database;
26 public Sone build() throws IllegalStateException {
28 return new SoneImpl(database, identity, false, lastUpdated, client, posts, postReplies);
32 public LocalSone buildLocal() throws IllegalStateException {
34 return new SoneImpl(database, identity, true, lastUpdated, client, posts, postReplies);