首页>代码>Java开源社区论坛系统Symphony>/symphony-master/src/main/java/org/b3log/symphony/cache/CommentCache.java
/*
 * Symphony - A modern community (forum/SNS/blog) platform written in Java.
 * Copyright (C) 2012-2018, b3log.org & hacpai.com
 *
 * 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 <http://www.gnu.org/licenses/>.
 */
package org.b3log.symphony.cache;

import org.b3log.latke.Keys;
import org.b3log.latke.cache.Cache;
import org.b3log.latke.cache.CacheFactory;
import org.b3log.latke.ioc.inject.Named;
import org.b3log.latke.ioc.inject.Singleton;
import org.b3log.symphony.model.Comment;
import org.b3log.symphony.util.JSONs;
import org.b3log.symphony.util.Symphonys;
import org.json.JSONObject;

/**
 * Comment cache.
 *
 * @author <a href="http://88250.b3log.org">Liang Ding</a>
 * @version 1.0.0.0, Sep 1, 2016
 * @since 1.6.0
 */
@Named
@Singleton
public class CommentCache {

    /**
     * Comment cache.
     */
    private static final Cache cache = CacheFactory.getCache(Comment.COMMENTS);

    static {
        cache.setMaxCount(Symphonys.getInt("cache.commentCnt"));
    }

    /**
     * Gets a comment by the specified comment id.
     *
     * @param id the specified comment id
     * @return comment, returns {@code null} if not found
     */
    public JSONObject getComment(final String id) {
        final JSONObject comment = cache.get(id);
        if (null == comment) {
            return null;
        }

        return JSONs.clone(comment);
    }

    /**
     * Adds or updates the specified comment.
     *
     * @param comment the specified comment
     */
    public void putComment(final JSONObject comment) {
        cache.put(comment.optString(Keys.OBJECT_ID), JSONs.clone(comment));
    }

    /**
     * Removes a comment by the specified comment id.
     *
     * @param id the specified comment id
     */
    public void removeComment(final String id) {
        cache.remove(id);
    }
}
最近下载更多
zsflucky  LV6 2023年7月10日
wzy1111  LV1 2023年6月29日
三十一  LV2 2023年6月28日
hhr1101  LV2 2023年5月20日
yidaaaaaa  LV1 2023年5月10日
小菜鸟6745  LV1 2022年12月8日
WEIdong123  LV2 2022年11月22日
molu123456 2022年11月7日
暂无贡献等级
拂袖云中  LV4 2022年6月17日
shen14755  LV3 2022年6月7日
最近浏览更多
3312djdad  LV2 11月8日
张泽帅  LV6 10月17日
柳咪华沙  LV7 6月28日
柠酱爱jio泥酱  LV1 6月21日
Gin19960217  LV4 3月15日
XiaoSong888  LV3 1月11日
eqeqleqeqn  LV1 2023年12月22日
卢本伟不开挂  LV4 2023年10月22日
zj20020510  LV5 2023年9月18日
你爹正在加载中  LV4 2023年7月19日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友