wyvern.lib.commands
Class TellCommand

java.lang.Object
  extended bywyvern.lib.commands.TellCommand
All Implemented Interfaces:
BuiltInCommand, Command

public class TellCommand
extends java.lang.Object
implements BuiltInCommand

Built-in command for executing a "tell".

Version:
1.0, Aug 21, 1997
Author:
Steve Yegge

Nested Class Summary
static class TellCommand.Tell
          Encapsulates a tell, for the "tells" command.
 
Field Summary
static int MAX_TELL_LENGTH
           
 
Method Summary
 void addCommands(java.util.Map commands, CommandList list)
          Tells the Command to add the commands that it wants to implement into the passed data structure.
 CommandEvent createEvent(CommandEvent event)
          Creates an event containing the tell info.
 boolean execute(CommandEvent event)
          Implements the various tell-related commands.
static TellCommand getImpl()
           
static java.util.List getTells(Commandable agent)
          Returns the list of things the specified agent has been told.
 boolean knowsCommand(java.lang.String command)
          Returns true if this Command wants to handle the command.
static void playAudibleAlert(Player player)
          Plays the tell-beep to a player.
static java.lang.String printTellsList(int num, java.util.List tells)
          Formats the list of tells into a StringBuffer.
static void rememberTell(Commandable recipient, java.lang.String teller, java.lang.String message)
          Places a Tell object in the recipients "@tells" list.
 boolean showTells(CommandEvent event)
          Shows the agent the things they've been told.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAX_TELL_LENGTH

public static final int MAX_TELL_LENGTH
See Also:
Constant Field Values
Method Detail

getImpl

public static TellCommand getImpl()

addCommands

public void addCommands(java.util.Map commands,
                        CommandList list)
Description copied from interface: BuiltInCommand
Tells the Command to add the commands that it wants to implement into the passed data structure.

Specified by:
addCommands in interface BuiltInCommand
Parameters:
commands - a Map whose keys are commands, and whose values are Commands that handle those commands.
list - the CommandList the Command is being added to.

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

createEvent

public CommandEvent createEvent(CommandEvent event)
Creates an event containing the tell info. Sets a property on the event called "recipients" containing a List of all the target names. Sets another property called "message" whose value is the message being sent.

Specified by:
createEvent in interface Command
Parameters:
event - 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.

execute

public boolean execute(CommandEvent event)
Implements the various tell-related commands.

Specified by:
execute in interface Command
Parameters:
event - the CommandEvent to execute
Returns:
true if the event completed successfully, else false.

rememberTell

public static void rememberTell(Commandable recipient,
                                java.lang.String teller,
                                java.lang.String message)
Places a Tell object in the recipients "@tells" list.


getTells

public static java.util.List getTells(Commandable agent)
Returns the list of things the specified agent has been told.

Parameters:
agent - a player
Returns:
a java.util.List of TellCommand.Tell objects, representing the things the agent has been told since they logged in. Returns null if they haven't been told anything yet in this session.

showTells

public boolean showTells(CommandEvent event)
Shows the agent the things they've been told. This command is actually somewhat obsolete, since it's also handled by the "last" command.


printTellsList

public static java.lang.String printTellsList(int num,
                                              java.util.List tells)
Formats the list of tells into a StringBuffer. Used by both player and wizard version of the "tells" command.

Parameters:
num - the argument, if any: a number, or "all" for all tells in the list. Can be null, which means "all".
tells - the list of tells

playAudibleAlert

public static void playAudibleAlert(Player player)
Plays the tell-beep to a player.