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}