|
What this is
Other links
The source code/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original * Code is Sun Microsystems, Inc. Portions Copyright 1997-2004 Sun * Microsystems, Inc. All Rights Reserved. */ package org.netbeans.modules.javacore; /** * * @author Martin Matula */ public class Cache { private final Object[] instanceCache; /** Creates a new instance of Cache */ public Cache(int size) { instanceCache = new Object[size]; } public void put(Object instance) { Object ce = instance; for (int i = 0, j = 0; i < instanceCache.length; i++) { Object temp = null; while (j < instanceCache.length) { Object tmp2 = instanceCache[j]; j++; if (tmp2 != null && tmp2 != instance) { if (!(tmp2 instanceof CachedElement) || ((CachedElement) tmp2).isValid()) { temp = tmp2; break; } else { ((CachedElement) tmp2).release(); } } } instanceCache[i] = ce; ce = temp; } if (ce != null && (ce instanceof CachedElement)) { ((CachedElement) ce).release(); } } public void dump() { System.err.println("******** Cache dump:"); for (int i = 0; i < instanceCache.length; i++) { System.err.println(instanceCache[i].toString()); } System.err.println("*********"); } public interface CachedElement { void release(); boolean isValid(); } } |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.