|
FreeHEP API Version current |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.util.Observable org.freehep.util.commanddispatcher.CommandProcessor
A default implementation of CommandGroup. 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(CommandState state)to determine if the command is active or not.
Nested Class Summary | |
protected class |
CommandProcessor.BooleanTarget
Boolean target is an implementation of CommandTarget for command targets which can be swithced on/off. |
protected class |
CommandProcessor.SimpleTarget
A SimpleTarget is an implementation of CommandTarget |
Constructor Summary | |
CommandProcessor()
|
Method Summary | |
protected CommandTarget |
acceptCommand(Class klass,
String command)
Uses reflection to check if the specified class has an "on" or "enable" method for this comamnd. |
CommandTarget |
acceptCommand(String command)
The CommandTargetManager calls acceptCommand to find out if this CommandProcessor can respond to the specified command. |
protected void |
invoke(Method method,
Object[] args)
|
protected void |
invokeCommand(CommandProcessor.BooleanTarget t,
boolean arg)
Override this method to provide application specific handling for errors generated during command dispatch |
protected void |
invokeCommand(CommandProcessor.SimpleTarget t)
Override this method to provide application specific handling for errors generated during command dispatch |
protected void |
invokeCommand(Method method,
Object[] args)
|
protected void |
invokeEnable(Method method,
Object[] args)
|
void |
setChanged()
|
void |
setManager(CommandTargetManager m)
|
protected String |
translate(String command)
Translates a command. |
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 |
Methods inherited from interface org.freehep.util.commanddispatcher.CommandGroup |
addObserver, deleteObserver |
Constructor Detail |
public CommandProcessor()
Method Detail |
public void setChanged()
public void setManager(CommandTargetManager m)
setManager
in interface CommandGroup
public CommandTarget acceptCommand(String command)
acceptCommand
in interface CommandGroup
command
- The command to test forprotected CommandTarget acceptCommand(Class klass, String command)
klass
- The class to checkcommand
- The command to test forprotected void invoke(Method method, Object[] args) throws IllegalAccessException, InvocationTargetException
IllegalAccessException
InvocationTargetException
protected void invokeCommand(CommandProcessor.SimpleTarget t)
protected void invokeCommand(CommandProcessor.BooleanTarget t, boolean arg)
protected void invokeCommand(Method method, Object[] args) throws IllegalAccessException, InvocationTargetException
IllegalAccessException
InvocationTargetException
protected void invokeEnable(Method method, Object[] args) throws IllegalAccessException, InvocationTargetException
IllegalAccessException
InvocationTargetException
protected String translate(String command)
|
FreeHEP API Version current |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |