🔀 Merge branch 'release/v82'
[Sone.git] / src / main / java / net / pterodactylus / sone / data / impl / IdOnlySone.java
1 package net.pterodactylus.sone.data.impl;
2
3 import static java.util.Collections.emptyList;
4 import static java.util.Collections.emptySet;
5
6 import java.util.Collection;
7 import java.util.List;
8 import java.util.Set;
9
10 import net.pterodactylus.sone.data.Album;
11 import net.pterodactylus.sone.data.Client;
12 import net.pterodactylus.sone.data.Post;
13 import net.pterodactylus.sone.data.PostReply;
14 import net.pterodactylus.sone.data.Profile;
15 import net.pterodactylus.sone.data.Sone;
16 import net.pterodactylus.sone.data.SoneOptions;
17 import net.pterodactylus.sone.freenet.wot.Identity;
18
19 import freenet.keys.FreenetURI;
20
21 import com.google.common.base.Objects;
22
23 /**
24  * {@link Sone} implementation that only stores the ID of a Sone and returns
25  * {@code null}, {@code 0}, or empty collections where appropriate.
26  */
27 public class IdOnlySone implements Sone {
28
29         private final String id;
30
31         public IdOnlySone(String id) {
32                 this.id = id;
33         }
34
35         @Override
36         public Identity getIdentity() {
37                 return null;
38         }
39
40         @Override
41         public String getName() {
42                 return id;
43         }
44
45         @Override
46         public boolean isLocal() {
47                 return false;
48         }
49
50         @Override
51         public FreenetURI getRequestUri() {
52                 return null;
53         }
54
55         @Override
56         public long getLatestEdition() {
57                 return 0;
58         }
59
60         @Override
61         public void setLatestEdition(long latestEdition) {
62         }
63
64         @Override
65         public long getTime() {
66                 return 0;
67         }
68
69         @Override
70         public Sone setTime(long time) {
71                 return null;
72         }
73
74         @Override
75         public SoneStatus getStatus() {
76                 return null;
77         }
78
79         @Override
80         public Sone setStatus(SoneStatus status) {
81                 return null;
82         }
83
84         @Override
85         public Profile getProfile() {
86                 return new Profile(this);
87         }
88
89         @Override
90         public void setProfile(Profile profile) {
91         }
92
93         @Override
94         public Client getClient() {
95                 return null;
96         }
97
98         @Override
99         public Sone setClient(Client client) {
100                 return null;
101         }
102
103         @Override
104         public boolean isKnown() {
105                 return false;
106         }
107
108         @Override
109         public Sone setKnown(boolean known) {
110                 return null;
111         }
112
113         @Override
114         public List<String> getFriends() {
115                 return emptyList();
116         }
117
118         @Override
119         public boolean hasFriend(String friendSoneId) {
120                 return false;
121         }
122
123         @Override
124         public List<Post> getPosts() {
125                 return emptyList();
126         }
127
128         @Override
129         public Sone setPosts(Collection<Post> posts) {
130                 return this;
131         }
132
133         @Override
134         public void addPost(Post post) {
135         }
136
137         @Override
138         public void removePost(Post post) {
139         }
140
141         @Override
142         public Set<PostReply> getReplies() {
143                 return emptySet();
144         }
145
146         @Override
147         public Sone setReplies(Collection<PostReply> replies) {
148                 return this;
149         }
150
151         @Override
152         public void addReply(PostReply reply) {
153         }
154
155         @Override
156         public void removeReply(PostReply reply) {
157         }
158
159         @Override
160         public Set<String> getLikedPostIds() {
161                 return emptySet();
162         }
163
164         @Override
165         public Sone setLikePostIds(Set<String> likedPostIds) {
166                 return this;
167         }
168
169         @Override
170         public boolean isLikedPostId(String postId) {
171                 return false;
172         }
173
174         @Override
175         public Sone addLikedPostId(String postId) {
176                 return this;
177         }
178
179         @Override
180         public void removeLikedPostId(String postId) {
181         }
182
183         @Override
184         public Set<String> getLikedReplyIds() {
185                 return emptySet();
186         }
187
188         @Override
189         public Sone setLikeReplyIds(Set<String> likedReplyIds) {
190                 return this;
191         }
192
193         @Override
194         public boolean isLikedReplyId(String replyId) {
195                 return false;
196         }
197
198         @Override
199         public Sone addLikedReplyId(String replyId) {
200                 return this;
201         }
202
203         @Override
204         public void removeLikedReplyId(String replyId) {
205         }
206
207         @Override
208         public Album getRootAlbum() {
209                 return null;
210         }
211
212         @Override
213         public SoneOptions getOptions() {
214                 return null;
215         }
216
217         @Override
218         public void setOptions(SoneOptions options) {
219         }
220
221         @Override
222         public int compareTo(Sone o) {
223                 return 0;
224         }
225
226         @Override
227         public String getFingerprint() {
228                 return null;
229         }
230
231         @Override
232         public String getId() {
233                 return id;
234         }
235
236         @Override
237         public int hashCode() {
238                 return id.hashCode();
239         }
240
241         @Override
242         public boolean equals(Object object) {
243                 return (object != null) && (object.getClass() == getClass()) && Objects.equal(id, ((IdOnlySone) object).id);
244         }
245
246 }