wyvern.kernel.commands
Class NullEvent
java.lang.Object
wyvern.kernel.properties.PList
wyvern.kernel.commands.EventImpl
wyvern.kernel.commands.NullEvent
- All Implemented Interfaces:
- Broadcaster, Command, CommandEvent, PropertyList
- public class NullEvent
- extends EventImpl
- implements Command
A no-op event. These are useful in various odd situations,
when you need to put something in an event queue that has
no effect. The delay for the event is used by the kernel,
so you can force a queue to wait just by setting the delay
on the event. The NullEvent can also be used as a token to
indicate that another event has expired completely (including
its delay).
A NullEvent is its own Command by default, so you can just
create one and stick it in a queue without worrying about it.
You can also call setHandler() after constructing it to set
a new Command to handle the event.
The pre-hooks and post-hooks do get run for a NullEvent,
although it seems unlikely that anyone would want to use them.
- Version:
- 1.0, Aug 16, 1999
- Author:
- Steve Yegge
Fields inherited from class wyvern.kernel.commands.EventImpl |
agent_, appendToFile_, argString_, argStringParsed_, argv_, argvParsed_, delay_, failureMessage_, filterObjects_, filters_, handler_, map_, modified_, originalText_, playerOriginated_, redirectFile_, redirecting_, sendToAgent_, successMessage_, verb_, vetoed_, wizParsed_ |
Method Summary |
CommandEvent |
createEvent(CommandEvent initialInfo)
Creates a CommandEvent that encapsulates all the state
necessary to perform the command. |
boolean |
execute(CommandEvent event)
Executes the specified CommandEvent. |
boolean |
knowsCommand(java.lang.String command)
Returns true if this Command wants to handle the command.
|
Methods inherited from class wyvern.kernel.commands.EventImpl |
broadcast, broadcast, broadcast, broadcast, broadcast, checkVeto, fail, filterMessage, findAllMatches, findByHashcode, findInMap, findNeighbor, findObject, findTarget, getAgent, getArgs, getArgString, getDelay, getFailureMessage, getFilterObjects, getFilters, getHandler, getMap, getOriginalText, getRedirectFile, getSuccessMessage, getVerb, hasArgs, isAppending, isModified, isMonster, isPlayer, isPlayerOriginated, isRedirecting, isSendingToAgent, isVetoed, isWizard, main, message, message, noArgs, parseArgString, parseARGV, parseVerb, profileParsing, redirectMessage, runPostHooks, runPreHooks, searchInv, searchInvAndMapNearby, searchInvAndMapUnder, searchInvByHashcode, searchMapNearby, searchMapUnder, searchMapUnderByHashcode, setAgent, setArgs, setDelay, setFailureMessage, setHandler, setMap, setModified, setOriginalText, setPlayerOriginated, setSuccessMessage, setVerb, setVeto, toString, veto |
Methods inherited from class wyvern.kernel.properties.PList |
addProperty, addTransientProperty, adjustDoubleProperty, adjustIntProperty, adjustLongProperty, adjustTransientDoubleProperty, adjustTransientIntProperty, adjustTransientLongProperty, countLocalProperties, debugProperties, dismantlePropertyList, getDoubleProperty, getInheritedProperty, getInteger, getIntProperty, getLocalProperties, getLocalProperty, getLongProperty, getParent, getPersistentDoubleProperty, getPersistentIntProperty, getPersistentLocalProperties, getPersistentLongProperty, getPersistentProperty, getProfilingInfo, getProperties, getProperties, getPropertiesIncludingTransients, getPropertiesIncludingTransients, getProperty, getSerializableProperties, getSerializableProperty, getStringProperty, getTransientDoubleProperty, getTransientIntProperty, getTransientLongProperty, getTransientProperties, getTransientProperty, hasLocalProperty, hasPersistentProperty, hasProperty, hasTransientProperty, inheritProperty, isReadOnly, isRemoved, isTransientlyRemoved, printLocalProperties, printProperties, printProperties, printTransientProperties, removeProperty, removeTransientProperty, setDoubleProperty, setIntProperty, setLongProperty, setParent, setProperty, setReadOnly, setTransientDoubleProperty, setTransientIntProperty, setTransientLongProperty, setTransientProperty, toString, transientlyRemoveProperty |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface wyvern.lib.PropertyList |
addProperty, addTransientProperty, adjustDoubleProperty, adjustIntProperty, adjustLongProperty, adjustTransientDoubleProperty, adjustTransientIntProperty, adjustTransientLongProperty, countLocalProperties, getDoubleProperty, getInheritedProperty, getIntProperty, getLocalProperties, getLocalProperty, getLongProperty, getParent, getPersistentDoubleProperty, getPersistentIntProperty, getPersistentLocalProperties, getPersistentLongProperty, getPersistentProperty, getProperties, getProperties, getPropertiesIncludingTransients, getPropertiesIncludingTransients, getProperty, getSerializableProperties, getSerializableProperty, getStringProperty, getTransientDoubleProperty, getTransientIntProperty, getTransientLongProperty, getTransientProperties, getTransientProperty, hasLocalProperty, hasPersistentProperty, hasProperty, hasTransientProperty, inheritProperty, isReadOnly, isRemoved, isTransientlyRemoved, printLocalProperties, printProperties, printProperties, printTransientProperties, removeProperty, removeTransientProperty, setDoubleProperty, setIntProperty, setLongProperty, setParent, setProperty, setReadOnly, setTransientDoubleProperty, setTransientIntProperty, setTransientLongProperty, setTransientProperty, toString, transientlyRemoveProperty |
NullEvent
public NullEvent()
- Constructs a new NullEvent
NullEvent
public NullEvent(java.lang.String text,
Commandable agent)
- Constructs a new NullEvent
createEvent
public CommandEvent createEvent(CommandEvent initialInfo)
- Description copied from interface:
Command
- Creates a CommandEvent that encapsulates all the state
necessary to perform the command. A well-designed CommandEvent
exposes all of its "properties" so that hook objects can
modify its behavior. For instance, many commands result in
some sort of message being sent back to the client. The
message should be among the properties that hooks can override.
This method is called by the kernel. The kernel passes the
event to the pre-hook, then calls Command.execute() (below)
to execute the event, and finally calls the post-hook.
- Specified by:
createEvent
in interface Command
- Parameters:
initialInfo
- a "blank" CommandEvent containing only the
command text and the agent who's performing the command. This
initial event is created by the originator of the event (e.g.
the AI or player's command preprocessor).
- Returns:
- a CommandEvent subclass encapsulating this command's
execution parameters and state. It should copy in the fields
from the passed-in event.
knowsCommand
public boolean knowsCommand(java.lang.String command)
- Description copied from interface:
Command
- Returns true if this Command wants to handle the command.
The Command can examine the arguments and determine that
it doesn't actually understand the command, in which case
it should return false.
This method exists to allow more than one game object to
implement the same command verb, but with different expected
arguments.
If two objects register for the same command and the same
arguments, the object that was registered most recently
gets to handle at the command.
- Specified by:
knowsCommand
in interface Command
- Parameters:
command
- the entire command string, including arguments
- Returns:
- true if we want to handle the command
execute
public boolean execute(CommandEvent event)
- Description copied from interface:
Command
- Executes the specified CommandEvent. The CommandEvent contains
all the parameters and state required to execute the command;
the parameters have been filtered through hook objects, so
they may not be the same as when the event was created.
- Specified by:
execute
in interface Command
- Parameters:
event
- the CommandEvent to execute
- Returns:
- true if the event completed successfully, else false.