1 10 package org.mmbase.cache; 11 import org.mmbase.core.event.*; 12 import org.mmbase.module.core.*; 13 14 20 public class NodeCache extends Cache implements NodeEventListener { 21 private static final int CACHE_SIZE = 4 * 1024; 22 23 private static NodeCache cache; 24 25 public static NodeCache getCache() { 26 return cache; 27 } 28 29 static { 30 cache = new NodeCache(); 31 cache.putCache(); 32 } 33 34 public String getName() { 35 return "Nodes"; 36 } 37 public String getDescription() { 38 return "Node number -> MMObjectNodes"; 39 } 40 41 44 private NodeCache() { 45 super(CACHE_SIZE); 46 } 48 49 50 public Object remove(Object key) { 51 RelatedNodesCache.getCache().removeNode((Integer ) key); 52 return super.remove(key); 53 } 54 55 56 public void notify(NodeEvent event) { 57 int type = event.getType(); 58 if(type == Event.TYPE_DELETE || ((! event.isLocal()) && type == Event.TYPE_CHANGE)) { 59 Integer changedNodeNumber = new Integer (event.getNodeNumber()); 60 remove(changedNodeNumber); 61 } 62 } 63 } 64 | Popular Tags |