java.lang.Object
provided.abcMusic.musicFW.APhraseVisitor
- All Implemented Interfaces:
IPhraseVisitor
Command-based implementation of IPhraseVisitor that uses IPhraseVisitorCmds stored in a hash table.
- Author:
- swong
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Map<String,IPhraseVisitorCmd>
The dictionary of commands, implemented using a hash table.private IPhraseVisitorCmd
The default command to use when caseAt is called with an ID that is not in the hashtable as a key. -
Constructor Summary
ConstructorsConstructorDescriptionConstructor that installs a default cmd that throws an IllegalArgumentException on any unknown host.APhraseVisitor(IPhraseVisitorCmd defaultCmd)
Constructor that sets the default cmd to the supplied cmd. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addCmd(String id, IPhraseVisitorCmd cmd)
Add the given command to the dictionary, associated with the given id value.Runs the command associated with the given id, passing along the given host and vararg parameters.
-
Field Details
-
defaultCmd
The default command to use when caseAt is called with an ID that is not in the hashtable as a key. -
cmds
The dictionary of commands, implemented using a hash table.
-
-
Constructor Details
-
APhraseVisitor
public APhraseVisitor()Constructor that installs a default cmd that throws an IllegalArgumentException on any unknown host. * ---------------------------------------------- Abstract extended visitor implementation that uses a dictionary of commands to associate commands with host IDs. -
APhraseVisitor
Constructor that sets the default cmd to the supplied cmd.- Parameters:
defaultCmd
- the default cmd to use.
-
-
Method Details
-
caseAt
Runs the command associated with the given id, passing along the given host and vararg parameters. If there is no cmd associated with the given id in the dictionary, then use the default cmd.- Specified by:
caseAt
in interfaceIPhraseVisitor
- Parameters:
id
- The ID value that identifies the hosthost
- The host IPhrase objectparams
- vararg list of parameters that might be used. Can be called with no input params.- Returns:
- the result of executing the associated cmd.
-
addCmd
Add the given command to the dictionary, associated with the given id value.- Parameters:
id
- The id of the host that will use this commandcmd
- The command that will be run when the host calls for it.
-