2013-06-28 17:02:29 +02:00
|
|
|
package com.commafeed.backend.cache;
|
|
|
|
|
|
2013-06-29 11:20:53 +02:00
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
import org.apache.commons.codec.digest.DigestUtils;
|
2013-06-28 17:02:29 +02:00
|
|
|
|
|
|
|
|
import com.commafeed.backend.model.Feed;
|
2013-07-25 10:21:11 +02:00
|
|
|
import com.commafeed.backend.model.FeedCategory;
|
2013-06-28 17:02:29 +02:00
|
|
|
import com.commafeed.backend.model.FeedEntry;
|
2013-07-25 10:21:11 +02:00
|
|
|
import com.commafeed.backend.model.FeedSubscription;
|
2013-07-02 18:07:08 +02:00
|
|
|
import com.commafeed.backend.model.User;
|
2013-06-28 17:02:29 +02:00
|
|
|
|
2013-06-29 11:20:53 +02:00
|
|
|
public abstract class CacheService {
|
2013-06-28 17:02:29 +02:00
|
|
|
|
2013-07-25 10:21:11 +02:00
|
|
|
// feed entries for faster refresh
|
2013-06-29 11:20:53 +02:00
|
|
|
public abstract List<String> getLastEntries(Feed feed);
|
2013-06-28 17:02:29 +02:00
|
|
|
|
2013-06-29 11:20:53 +02:00
|
|
|
public abstract void setLastEntries(Feed feed, List<String> entries);
|
2013-06-28 17:02:29 +02:00
|
|
|
|
2013-07-02 18:07:08 +02:00
|
|
|
public String buildUniqueEntryKey(Feed feed, FeedEntry entry) {
|
2013-07-25 09:17:33 +02:00
|
|
|
return DigestUtils.sha1Hex(entry.getGuid() + entry.getUrl());
|
2013-06-28 17:02:29 +02:00
|
|
|
}
|
2013-06-29 11:20:53 +02:00
|
|
|
|
2013-07-25 10:21:11 +02:00
|
|
|
// user categories
|
|
|
|
|
public abstract List<FeedCategory> getUserCategories(User user);
|
2013-07-02 18:07:08 +02:00
|
|
|
|
2013-07-25 10:21:11 +02:00
|
|
|
public abstract void setUserCategories(User user, List<FeedCategory> categories);
|
2013-07-25 09:17:33 +02:00
|
|
|
|
2013-07-25 10:21:11 +02:00
|
|
|
public abstract void invalidateUserCategories(User user);
|
2013-07-02 18:07:08 +02:00
|
|
|
|
2013-07-25 10:21:11 +02:00
|
|
|
// subscriptions
|
|
|
|
|
public abstract List<FeedSubscription> getUserSubscriptions(User user);
|
2013-07-03 12:42:01 +02:00
|
|
|
|
2013-07-25 10:21:11 +02:00
|
|
|
public abstract void setUserSubscriptions(User user, List<FeedSubscription> subs);
|
|
|
|
|
|
|
|
|
|
public abstract void invalidateUserSubscriptions(User user);
|
|
|
|
|
|
|
|
|
|
// unread count
|
|
|
|
|
public abstract Long getUnreadCount(FeedSubscription sub);
|
|
|
|
|
|
|
|
|
|
public abstract void setUnreadCount(FeedSubscription sub, Long count);
|
|
|
|
|
|
|
|
|
|
public abstract void invalidateUnreadCount(FeedSubscription... subs);
|
2013-07-02 18:07:08 +02:00
|
|
|
|
2013-06-28 17:02:29 +02:00
|
|
|
}
|