jas.util
Class CommandProcessor
java.lang.Object
|
+--java.util.Observable
|
+--jas.util.CommandProcessor
- Direct Known Subclasses:
- JASCommandProcessor, NestedCommandProcessor
- public class CommandProcessor
- extends java.util.Observable
A CommandProcessor represents a collection of CommandTargets. The CommandProcessor is Observable,
and is normally Observed by the CommandTargetManager. When the CommandProcessor calls
its notifyObservers method, the CommandTargetManager prompts each CommandSource currently
attached to CommandTargets within the CommandProcessor to update their enabled/disabled status.
Typically applications provide their own CommandProcessor(s) which extend this base class
and which can handle a set of commands. By default CommandProcessor's acceptCommand method
uses reflection to search for methods in the subClass which correspond to specific commands,
although subclasses could also override the acceptCommand method to implement a different
scheme. The default scheme looks for methods of type:
public void onXXX()
to handle the command XXX. Also
public void enableXXX(JASState state)
to determine if the command is active or not.
Methods inherited from class java.util.Observable |
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CommandProcessor
public CommandProcessor()
translate
protected java.lang.String translate(java.lang.String command)
setChanged
protected void setChanged()
- Overrides:
setChanged
in class java.util.Observable
setManager
protected void setManager(CommandTargetManager m)
acceptCommand
protected CommandTarget acceptCommand(java.lang.String command)
- The CommandTargetManager called acceptCommand to find out if this CommandProcessor
can respond to the specified command. If it can it returns a CommandTarget for the command,
otherwise it returns null.
invoke
protected void invoke(java.lang.reflect.Method method,
java.lang.Object[] args)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException
invokeEnable
protected void invokeEnable(java.lang.reflect.Method method,
java.lang.Object[] args)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException
invokeCommand
protected void invokeCommand(java.lang.reflect.Method method,
java.lang.Object[] args)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException
invokeCommand
protected void invokeCommand(CommandProcessor.SimpleTarget t)
invokeCommand
protected void invokeCommand(CommandProcessor.BooleanTarget t,
boolean arg)