📄 xcachemanager.java
字号:
/***************************************************************** XBrowser - eXtended web Browser ** ** Copyright (c) 2000-2001 Armond Avanes ** Refer to ReadMe & License files for more information ** ** ** By: Armond Avanes ** Armond555@yahoo.com & Armond333@yahoo.com ** http://xbrowser.sourceforge.net/ ******************************************************************/package xbrowser.cache;import java.util.*;import java.net.*;import java.io.*;import xbrowser.*;public final class XCacheManager{ public void load() { try { String file_name = XProjectConstants.CONFIG_DIR+XRepository.getConfiguration().getCacheIndexFileName(); XRepository.getConfiguration().getActiveCacheIndexSerializer().getSerializer().importCacheIndexes(file_name, this); } catch( Exception e ) { XRepository.getLogger().warning(this, "An error occured on loading the cache indexes!"); XRepository.getLogger().warning(this, e); clearCache(); //save(); } } public void save() { try { String file_name = XProjectConstants.CONFIG_DIR+XRepository.getConfiguration().getCacheIndexFileName(); XRepository.getConfiguration().getActiveCacheIndexSerializer().getSerializer().exportCacheIndexes(file_name, this); } catch( Exception e ) { XRepository.getLogger().warning(this, "An error occured while saving the cache indexes!"); XRepository.getLogger().warning(this, e); } } public void addCacheItem(XCacheItem cache_item) { cache.put(cache_item.getURL(), cache_item); } public Iterator getCacheItems() { return cache.values().iterator(); } public void clearCache() { Iterator it = getCacheItems(); while( it.hasNext() ) ((XCacheItem)it.next()).delete(); cache.clear(); } /** Remove record about cached url. */ public void removeFromCache(String url) { XCacheItem cache_item = (XCacheItem)cache.get(url); cache_item.delete(); cache.remove(url); if( isCached(url)) XRepository.getLogger().error(this, "HOW???"); } /** Returns File to write resource contained in url. * Will put url to cache; removeFromCache() if loading from url failed. */ public File getFileToCache(String url) throws IOException { if( !isCached(url) ) { File tmp = File.createTempFile("XBC", ".htm", cacheDir); XCacheItem cache_item = new XCacheItem(); cache_item.setURL(url); cache_item.setFileName( tmp.getCanonicalPath() ); cache.put(url, cache_item); return tmp; } else return ((XCacheItem)cache.get(url)).getFile(); } /** Check for presence in cache. */ public synchronized boolean isCached(String url) { return cache.containsKey(url); } /** Set content type for cached thing. */ public void setContentType(String url, String content_type) { XCacheItem cache_item = (XCacheItem)cache.get(url); cache_item.setContentType(content_type); } /** Return saved content type for url. */ public String getContentType(String url) { return ((XCacheItem)cache.get(url)).getContentType(); }// Attributes: private Map cache = new HashMap(); private final static File cacheDir = new File(XProjectConstants.CACHE_DIR);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -