package com.sleepycat.je.log; public class FileManager { private FileCache fileCache; Set getCacheKeys(){ return fileCache.getCacheKeys(); } /** * Clear a file out of the file cache regardless of mode type. */ private void clearFileCache( long fileNum) throws IOException, DatabaseException { fileCache.remove(fileNum); } protected void hook451() throws IOException, DatabaseException { fileCache.clear(); } protected void hook457( DbConfigManager configManager) throws DatabaseException { fileCache=new FileCache(configManager); original(configManager); } protected void hook458( long fileNum) throws DatabaseException, IOException { clearFileCache(fileNum); original(fileNum); } protected void hook459( long fileNum) throws DatabaseException, IOException { clearFileCache(fileNum); original(fileNum); } protected void hook460( long fileNum, Long fileId, FileHandle fileHandle) throws LogException, DatabaseException { while (true) { original(fileNum,fileId,fileHandle); } } protected void hook461( ByteBuffer data){ data.position(0); original(data); } /** * Close all file handles and empty the cache. */ public void clear() throws IOException, DatabaseException { { this.hook451(); } original(); } protected FileHandle hook462( long fileNum, Long fileId, FileHandle fileHandle) throws LogException, DatabaseException { fileHandle=fileCache.get(fileId); if (fileHandle == null) { fileHandle=original(fileNum,fileId,fileHandle); } return fileHandle; } protected FileHandle hook463( long fileNum, Long fileId, FileHandle fileHandle) throws LogException, DatabaseException { fileHandle=fileCache.get(fileId); if (fileHandle == null) { fileHandle=original(fileNum,fileId,fileHandle); } return fileHandle; } protected void hook464( Long fileId, FileHandle fileHandle) throws LogException, DatabaseException { fileCache.add(fileId,fileHandle); original(fileId,fileHandle); } }