package net.pterodactylus.sone.template;
+import static com.google.common.collect.FluentIterable.from;
+
import net.pterodactylus.sone.core.Core;
import net.pterodactylus.sone.data.Post;
import net.pterodactylus.sone.data.Reply;
import net.pterodactylus.util.template.ReflectionAccessor;
import net.pterodactylus.util.template.TemplateContext;
-import com.google.common.collect.Collections2;
-
/**
* Accessor for {@link Post} objects that adds additional properties:
* <dl>
this.core = core;
}
- /**
- * {@inheritDoc}
- */
@Override
public Object get(TemplateContext templateContext, Object object, String member) {
Post post = (Post) object;
if ("replies".equals(member)) {
- return Collections2.filter(core.getReplies(post.getId()), Reply.FUTURE_REPLY_FILTER);
+ return from(post.getReplies()).filter(Reply.FUTURE_REPLY_FILTER).toList();
} else if (member.equals("likes")) {
- return core.getLikes(post);
+ return post.getLikes();
} else if (member.equals("liked")) {
Sone currentSone = (Sone) templateContext.get("currentSone");
- return (currentSone != null) && (currentSone.isLikedPostId(post.getId()));
+ return (currentSone != null) && post.isLiked(currentSone);
} else if (member.equals("new")) {
return !post.isKnown();
} else if (member.equals("bookmarked")) {