1 10 package org.mmbase.module.gui.html; 11 12 import java.util.*; 13 import org.mmbase.module.core.*; 14 15 22 public class MultilevelSubscribeNode implements MMBaseObserver { 23 24 private MMBase mmb; 25 String type; 26 Vector queue=new Vector(50); 27 28 public MultilevelSubscribeNode(MMBase mmb,String type) { 29 this.mmb=mmb; 30 this.type=type; 31 mmb.addLocalObserver(type,this); 32 mmb.addRemoteObserver(type,this); 33 } 34 35 public boolean nodeChanged(String machine,String number,String builder,String ctype) { 36 clearEntrys(); 37 return(true); 38 } 39 40 public synchronized void clearEntrys() { 41 Enumeration e=queue.elements(); 42 while (e.hasMoreElements()) { 43 MultilevelCacheEntry n=(MultilevelCacheEntry)e.nextElement(); 44 n.clear(); 47 } 48 } 49 50 public boolean nodeRemoteChanged(String machine, String number,String builder,String ctype) { 51 return(nodeChanged(machine,number,builder,ctype)); 52 } 53 54 public boolean nodeLocalChanged(String machine,String number,String builder,String ctype) { 55 return(nodeChanged(machine,number,builder,ctype)); 56 } 57 58 public boolean removeCacheEntry(MultilevelCacheEntry entry) { 59 if (queue.contains(entry)) { 60 queue.remove(entry); 61 return(true); 62 } else { 63 return(false); 64 } 65 } 66 67 public boolean addCacheEntry(MultilevelCacheEntry entry) { 68 entry.addListener(this); 70 71 if (!queue.contains(entry)) { 73 queue.addElement(entry); 74 } 75 return(true); 76 } 77 } 78 | Popular Tags |