package com.easyooo.framework.cache.console; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Set; import java.util.regex.Pattern; import com.easyooo.framework.cache.storage.JVMCache; /** * JVM CAche Viewer * * @author Killer */ public class JvmCacheViewer implements CacheViewer { private Map<String, Object> cache = new JVMCache().getCacheObject(); @Override public String get(String cacheKey) { Object o = cache.get(cacheKey); if(o != null){ return o.toString(); } return null; } @Override public List<String> keys(String cacheKeyPattern) { List<String> keyList = new ArrayList<String>(); if(cacheKeyPattern == null || "".equals(cacheKeyPattern)){ return keyList; } Set<String> keySet = cache.keySet(); Pattern regex = parseCacheKeyPattern(cacheKeyPattern); for (String key : keySet) { if(regex.matcher(key).matches()){ keyList.add(key); } } // sort list Collections.sort(keyList); // return sorted list return keyList; } private Pattern parseCacheKeyPattern(String cacheKeyPattern){ return Pattern.compile("^"+ cacheKeyPattern +"$"); } @Override public String getDescription() { return "------- 监控本地JVM缓存 ---------"; } }