/*
 * 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.Option;
import org.b3log.symphony.util.JSONs;
import org.json.JSONObject;
/**
 * Option cache.
 *
 * @author <a href="http://88250.b3log.org">Liang Ding</a>
 * @version 1.0.0.1, Oct 25, 2016
 * @since 1.5.0
 */
@Named
@Singleton
public class OptionCache {
    /**
     * Option cache.
     */
    private static final Cache CACHE = CacheFactory.getCache(Option.OPTIONS);
    static {
        CACHE.setMaxCount(1024);
    }
    /**
     * Gets an option by the specified option id.
     *
     * @param id the specified option id
     * @return option, returns {@code null} if not found
     */
    public JSONObject getOption(final String id) {
        final JSONObject option = CACHE.get(id);
        if (null == option) {
            return null;
        }
        return JSONs.clone(option);
    }
    /**
     * Adds or updates the specified option.
     *
     * @param option the specified option
     */
    public void putOption(final JSONObject option) {
        CACHE.put(option.optString(Keys.OBJECT_ID), JSONs.clone(option));
    }
    /**
     * Removes an option by the specified option id.
     *
     * @param id the specified option id
     */
    public void removeOption(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日
            
            
        
最近浏览更多
                
                酷少小新     LV2
                6月8日
            
            
        
                y54646499     LV1
                4月8日
            
            
        
                3312djdad     LV2
                2024年11月8日
            
            
        
                张泽帅     LV6
                2024年10月17日
            
            
        
                柳咪华沙     LV7
                2024年6月28日
            
            
        
                柠酱爱jio泥酱     LV1
                2024年6月21日
            
            
        
                Gin19960217     LV4
                2024年3月15日
            
            
        
                XiaoSong888     LV3
                2024年1月11日
            
            
        
                eqeqleqeqn     LV1
                2023年12月22日
            
            
        
                卢本伟不开挂     LV4
                2023年10月22日
            
            
        
                
                