aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/net/lacolaco/smileessence/entity/DirectMessage.java
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2017-10-04 21:10:58 +0900
committerKazuki Yamaguchi <k@rhe.jp>2017-10-04 22:00:52 +0900
commit986fa8cd8bdf6110d2aa390a9dcafc4ff19ee6dd (patch)
treee92964cc05dc18021011fbed2f8f249b7f3ed5b6 /app/src/main/java/net/lacolaco/smileessence/entity/DirectMessage.java
parentb471085c2b2d6229bb6fb54a6d444802147a7392 (diff)
downloadSmileEssence-986fa8cd8bdf6110d2aa390a9dcafc4ff19ee6dd.tar.gz
worldify (wip)2017-10-04
Diffstat (limited to 'app/src/main/java/net/lacolaco/smileessence/entity/DirectMessage.java')
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/entity/DirectMessage.java39
1 files changed, 14 insertions, 25 deletions
diff --git a/app/src/main/java/net/lacolaco/smileessence/entity/DirectMessage.java b/app/src/main/java/net/lacolaco/smileessence/entity/DirectMessage.java
index 67524c36..5b19ee74 100644
--- a/app/src/main/java/net/lacolaco/smileessence/entity/DirectMessage.java
+++ b/app/src/main/java/net/lacolaco/smileessence/entity/DirectMessage.java
@@ -1,27 +1,26 @@
package net.lacolaco.smileessence.entity;
-import com.google.common.cache.Cache;
-import com.google.common.cache.CacheBuilder;
import net.lacolaco.smileessence.util.ListUtils;
-import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
-public class DirectMessage extends EntitySupport {
- private static Cache<Long, DirectMessage> storage = CacheBuilder.newBuilder().weakValues().build();
-
- public synchronized static DirectMessage fetch(long statusId) {
- return storage.getIfPresent(statusId);
- }
+public class DirectMessage extends EntitySupport implements IdObject {
+ private static Map<Long, DirectMessage> storage = new ConcurrentHashMap<>();
+ private long id;
+ private User sender;
+ private User recipient;
+ private String text;
+ private Date createdAt;
- @Deprecated
- public synchronized static List<DirectMessage> cached() {
- return new ArrayList<>(storage.asMap().values());
+ private DirectMessage(twitter4j.DirectMessage st) {
+ update(st);
}
- public synchronized static void remove(long statusId) {
- storage.invalidate(statusId);
+ public synchronized static DirectMessage fetch(long statusId) {
+ return storage.get(statusId);
}
public synchronized static DirectMessage fromTwitter(twitter4j.DirectMessage st) {
@@ -39,17 +38,6 @@ public class DirectMessage extends EntitySupport {
return ListUtils.map(sts, DirectMessage::fromTwitter);
}
- // インスタンス
- private long id;
- private User sender;
- private User recipient;
- private String text;
- private Date createdAt;
-
- private DirectMessage(twitter4j.DirectMessage st) {
- update(st);
- }
-
private void update(twitter4j.DirectMessage message) {
id = message.getId();
sender = User.fromTwitter(message.getSender());
@@ -60,6 +48,7 @@ public class DirectMessage extends EntitySupport {
updateEntities(message);
}
+ @Override
public long getId() {
return id;
}