diff options
author | snowleo <schneeleo@gmail.com> | 2011-10-12 03:14:07 +0200 |
---|---|---|
committer | snowleo <schneeleo@gmail.com> | 2011-10-12 03:14:26 +0200 |
commit | 860d446d28776ec842fa53e8e08538d4e093d6e9 (patch) | |
tree | 0c4598eae4eb8c59fd36e8312eab1b27a8018794 /EssentialsUpdate/src/f00f/net/irc/martyr/CommandRegister.java | |
parent | 9ec398b39b0f48392a9d635041b392c7dba2ca0c (diff) | |
download | Essentials-860d446d28776ec842fa53e8e08538d4e093d6e9.tar Essentials-860d446d28776ec842fa53e8e08538d4e093d6e9.tar.gz Essentials-860d446d28776ec842fa53e8e08538d4e093d6e9.tar.lz Essentials-860d446d28776ec842fa53e8e08538d4e093d6e9.tar.xz Essentials-860d446d28776ec842fa53e8e08538d4e093d6e9.zip |
EssentialsUpdate WIP
Diffstat (limited to 'EssentialsUpdate/src/f00f/net/irc/martyr/CommandRegister.java')
-rw-r--r-- | EssentialsUpdate/src/f00f/net/irc/martyr/CommandRegister.java | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/EssentialsUpdate/src/f00f/net/irc/martyr/CommandRegister.java b/EssentialsUpdate/src/f00f/net/irc/martyr/CommandRegister.java new file mode 100644 index 000000000..2c7dca1dc --- /dev/null +++ b/EssentialsUpdate/src/f00f/net/irc/martyr/CommandRegister.java @@ -0,0 +1,118 @@ +package f00f.net.irc.martyr; + +import java.util.Hashtable; + +import f00f.net.irc.martyr.commands.*; +import f00f.net.irc.martyr.errors.*; +import f00f.net.irc.martyr.replies.*; + +/** + * CommandRegister is basically a big hashtable that maps IRC + * identifiers to command objects that can be used as factories to + * do self-parsing. CommandRegister is also the central list of + * commands. + */ +public class CommandRegister +{ + + private Hashtable<String,InCommand> commands; + public CommandRegister() + { + commands = new Hashtable<String,InCommand>(); + + // Note that currently, we only have to register commands that + // can be received from the server. + new InviteCommand().selfRegister( this ); + new JoinCommand().selfRegister( this ); + new KickCommand().selfRegister( this ); + new MessageCommand().selfRegister( this ); + new ModeCommand().selfRegister( this ); + new IsonCommand().selfRegister( this ); + new NickCommand().selfRegister( this ); + new NoticeCommand().selfRegister( this ); + new PartCommand().selfRegister( this ); + new PingCommand().selfRegister( this ); + new QuitCommand().selfRegister( this ); + new TopicCommand().selfRegister( this ); + new WelcomeCommand().selfRegister( this ); + + // Register errors + new AlreadyRegisteredError().selfRegister( this ); + new CannotSendToChanError().selfRegister( this ); + new CantKillServerError().selfRegister( this ); + new ChannelBannedError().selfRegister( this ); + new ChannelInviteOnlyError().selfRegister( this ); + new ChannelLimitError().selfRegister( this ); + new ChannelWrongKeyError().selfRegister( this ); + new ChanOPrivsNeededError().selfRegister( this ); + new ErroneusNicknameError().selfRegister( this ); + new FileErrorError().selfRegister( this ); + new KeySetError().selfRegister( this ); + new LoadTooHighError().selfRegister( this ); + new NeedMoreParamsError().selfRegister( this ); + new NickCollisionError().selfRegister( this ); + new NickInUseError().selfRegister( this ); + new NoAdminInfoError().selfRegister( this ); + new NoLoginError().selfRegister( this ); + new NoMotdError().selfRegister( this ); + new NoNicknameGivenError().selfRegister( this ); + new NoOperHostError().selfRegister( this ); + new NoOriginError().selfRegister( this ); + new NoPermForHostError().selfRegister( this ); + new NoPrivilegesError().selfRegister( this ); + new NoRecipientError().selfRegister( this ); + new NoSuchChannelError().selfRegister( this ); + new NoSuchNickError().selfRegister( this ); + new NoSuchServerError().selfRegister( this ); + new NoTextToSendError().selfRegister( this ); + new NotOnChannelError().selfRegister( this ); + new NotRegisteredError().selfRegister( this ); + new PasswdMismatchError().selfRegister( this ); + new SummonDisabledError().selfRegister( this ); + new TooManyChannelsError().selfRegister( this ); + new TooManyTargetsError().selfRegister( this ); + new UModeUnknownFlagError().selfRegister( this ); + new UnknownCommandError().selfRegister( this ); + new UnknownModeError().selfRegister( this ); + new UserNotInChannelError().selfRegister( this ); + new UserOnChannelError().selfRegister( this ); + new UsersDisabledError().selfRegister( this ); + new UsersDontMatchError().selfRegister( this ); + new WasNoSuchNickError().selfRegister( this ); + new WildTopLevelError().selfRegister( this ); + new YoureBannedCreepError().selfRegister( this ); + + // Register replies + new ChannelCreationReply().selfRegister( this ); + new AwayReply().selfRegister( this ); + new ListEndReply().selfRegister( this ); + new ListReply().selfRegister( this ); + new ListStartReply().selfRegister( this ); + new LUserClientReply().selfRegister( this ); + new LUserMeReply().selfRegister( this ); + new LUserOpReply().selfRegister( this ); + new ModeReply().selfRegister( this ); + new NamesEndReply().selfRegister( this ); + new NamesReply().selfRegister( this ); + new NowAwayReply().selfRegister( this ); + new TopicInfoReply().selfRegister( this ); + new UnAwayReply().selfRegister( this ); + new WhoisChannelsReply().selfRegister( this ); + new WhoisEndReply().selfRegister( this ); + new WhoisIdleReply().selfRegister( this ); + new WhoisServerReply().selfRegister( this ); + new WhoisUserReply().selfRegister( this ); + } + + public void addCommand( String ident, InCommand command ) + { + commands.put( ident, command ); + } + + public InCommand getCommand( String ident ) + { + return commands.get( ident ); + } + +} + |