001/**
002 * Copyright (c) 2015-2022, Michael Yang 杨福海 (fuhai999@gmail.com).
003 * <p>
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 * <p>
008 * http://www.apache.org/licenses/LICENSE-2.0
009 * <p>
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016package io.jboot.components.cache.none;
017
018
019import com.jfinal.plugin.ehcache.IDataLoader;
020import io.jboot.components.cache.JbootCache;
021import io.jboot.components.cache.JbootCacheConfig;
022
023import java.util.List;
024
025/**
026 * noneCache 存在的目的:方便通过配置文件的方式关闭缓存功能
027 */
028public class NoneCacheImpl implements JbootCache {
029
030    private JbootCacheConfig config;
031
032    public NoneCacheImpl(JbootCacheConfig config) {
033        this.config = config;
034    }
035
036    @Override
037    public JbootCache setThreadCacheNamePrefix(String cacheNamePrefix) {
038        return this;
039    }
040
041    @Override
042    public void clearThreadCacheNamePrefix() {
043
044    }
045
046    @Override
047    public boolean addThreadCacheNamePrefixIngore(String cacheName) {
048        return true;
049    }
050
051    @Override
052    public boolean removeThreadCacheNamePrefixIngore(String cacheName) {
053        return true;
054    }
055
056    @Override
057    public JbootCacheConfig getConfig() {
058        return config;
059    }
060
061    @Override
062    public <T> T get(String cacheName, Object key) {
063        return null;
064    }
065
066    @Override
067    public void put(String cacheName, Object key, Object value) {
068        //do nothing
069    }
070
071    @Override
072    public void put(String cacheName, Object key, Object value, int liveSeconds) {
073        //do nothing
074    }
075
076    @Override
077    public void remove(String cacheName, Object key) {
078        //do nothing
079    }
080
081    @Override
082    public void removeAll(String cacheName) {
083        //do nothing
084    }
085
086    @Override
087    public <T> T get(String cacheName, Object key, IDataLoader dataLoader) {
088        return (T) dataLoader.load();
089    }
090
091    @Override
092    public <T> T get(String cacheName, Object key, IDataLoader dataLoader, int liveSeconds) {
093        return (T) dataLoader.load();
094    }
095
096    @Override
097    public Integer getTtl(String cacheName, Object key) {
098        return null;
099    }
100
101    @Override
102    public void setTtl(String cacheName, Object key, int seconds) {
103        //do nothing
104    }
105
106    @Override
107    public void refresh(String cacheName, Object key) {
108
109    }
110
111    @Override
112    public void refresh(String cacheName) {
113
114    }
115
116    @Override
117    public List getNames() {
118        return null;
119    }
120
121    @Override
122    public List getKeys(String cacheName) {
123        return null;
124    }
125}