Use different method to create a local Sone.
[Sone.git] / src / main / java / net / pterodactylus / sone / database / SoneBuilder.java
1 package net.pterodactylus.sone.database;
2
3 import java.util.Collection;
4
5 import net.pterodactylus.sone.data.Client;
6 import net.pterodactylus.sone.data.LocalSone;
7 import net.pterodactylus.sone.data.Post;
8 import net.pterodactylus.sone.data.PostReply;
9 import net.pterodactylus.sone.data.Sone;
10 import net.pterodactylus.sone.freenet.wot.Identity;
11
12 /**
13  * Builder for {@link Sone} objects.
14  *
15  * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
16  */
17 public interface SoneBuilder {
18
19         SoneBuilder from(Identity identity);
20
21         SoneBuilder lastUpdated(long lastUpdated);
22         SoneBuilder using(Client client);
23
24         SoneBuilder withPosts(Collection<Post> posts);
25         SoneBuilder withPostReplies(Collection<PostReply> postReplies);
26
27         Sone build() throws IllegalStateException;
28         LocalSone buildLocal() throws IllegalStateException;
29
30 }