package jas.util; import java.util.Enumeration; import java.util.Vector; public class NestedCommandProcessor extends CommandProcessor { public synchronized void addSubProcessor(CommandProcessor p) { subProcessors.addElement(p); if (manager != null) manager.add(p); } public synchronized void removeSubProcessor(CommandProcessor p) { subProcessors.removeElement(p); if (manager != null) manager.remove(p); } protected void setManager(CommandTargetManager m) { Enumeration e = subProcessors.elements(); while (e.hasMoreElements()) { CommandProcessor p = (CommandProcessor) e.nextElement(); if (m == null) manager.remove(p); else m.add(p); } manager = m; } private CommandTargetManager manager; private Vector subProcessors = new Vector(); }