diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/CacheManager.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/CacheManager.java | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/CacheManager.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/CacheManager.java deleted file mode 100644 index 5f513f4ab..000000000 --- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/CacheManager.java +++ /dev/null @@ -1,74 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006 Sybase, Inc. and others. - * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Sybase, Inc. - initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.pagedesigner.utils; - -import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.Map; - -/** - * This is a cache manager. It will use the ICacheEntryCreator interface to - * manage creating new item and dispose old item. - * - * @author mengbo - * @version 1.5 - */ -public class CacheManager { - ICacheEntryCreator _creator; - - int _maxSize; - - // key --> value - Map _map = new HashMap(); - - // keep track of LRU - LinkedList _keys = new LinkedList(); - - public CacheManager(ICacheEntryCreator creator, int maxSize) { - _creator = creator; - _maxSize = maxSize; - if (_maxSize <= 0) { - _maxSize = 10; - } - } - - public Object getEntry(Object key) { - Object result = _map.get(key); - if (result == null) { - // not existed yet. - if (_map.size() >= _maxSize) { - // we need to remove the oldest one. - Object keyRemove = _keys.removeFirst(); - Object objToRemove = _map.remove(keyRemove); - _creator.dispose(keyRemove, objToRemove); - } - result = _creator.createEntry(key); - _keys.addLast(key); - _map.put(key, result); - return result; - } - _keys.remove(key); - _keys.addLast(key); - return result; - } - - public void disposeAll() { - _keys.clear(); - for (Iterator iter = _map.keySet().iterator(); iter.hasNext();) { - Object key = iter.next(); - Object entry = _map.get(key); - _creator.dispose(key, entry); - } - _map.clear(); - } -} |