package jde.debugger.command; import java.util.Collection; import java.util.HashSet; import java.util.Collections; /** * Each command has a command id associated with it, that is used by * jde, to match with the corresponding result/error. jdebug maintains * the pending command ids in this collection (as does {@link * Application}, see * {@link Application#pendingCommands}), * and removes * them once the command processing is over.
* Hence, the command id can actually be reused. * * Created: Sun Feb 18 00:22:14 2001 * * @author * @version */ public class CommandRegistry { private CommandRegistry (){} public void addCommand(Integer cmdID) { synchronized (pendingCommands) { pendingCommands.add(cmdID); } } public void removeCommand(Integer cmdID) { synchronized (pendingCommands) { pendingCommands.remove(cmdID); } } public boolean commandExists(Integer cmdID) { synchronized (pendingCommands) { return pendingCommands.contains(cmdID); } } static public CommandRegistry getTheRegistry() { return theRegistry; } private Collection pendingCommands = Collections.synchronizedSet(new HashSet()); static CommandRegistry theRegistry = new CommandRegistry(); }// CommandRegistry