X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Ftemplate%2FPostAccessor.java;fp=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Ftemplate%2FPostAccessor.java;h=0000000000000000000000000000000000000000;hb=3ab186664b53925d8f9ee7a50a8dd9da2d9da172;hp=4025c7b4eb47f3d2e95c787d8c1bed5c2dd89359;hpb=74ef01c55e8581336625307fd63962eed4e818ca;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/template/PostAccessor.java b/src/main/java/net/pterodactylus/sone/template/PostAccessor.java deleted file mode 100644 index 4025c7b..0000000 --- a/src/main/java/net/pterodactylus/sone/template/PostAccessor.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Sone - PostAccessor.java - Copyright © 2010–2019 David Roden - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package net.pterodactylus.sone.template; - -import net.pterodactylus.sone.core.Core; -import net.pterodactylus.sone.data.Post; -import net.pterodactylus.sone.data.Reply; -import net.pterodactylus.sone.data.Sone; -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: - *
- *
replies
- *
All replies to this post, sorted by time, oldest first
- *
- */ -public class PostAccessor extends ReflectionAccessor { - - /** The core to get the replies from. */ - private final Core core; - - /** - * Creates a new post accessor. - * - * @param core - * The core to get the replies from - */ - public PostAccessor(Core core) { - 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); - } else if (member.equals("likes")) { - return core.getLikes(post); - } else if (member.equals("liked")) { - Sone currentSone = (Sone) templateContext.get("currentSone"); - return (currentSone != null) && (currentSone.isLikedPostId(post.getId())); - } else if (member.equals("new")) { - return !post.isKnown(); - } else if (member.equals("bookmarked")) { - return core.isBookmarked(post); - } - return super.get(templateContext, object, member); - } - -}