/*
* Copyright (C) 2013 Aaron Weiss <aaronweiss74@gmail.com>
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom
* the Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package us.aaronweiss.juicebot;
/**
* An enumeration of server response codes based on RFC 1459.
*
* @author Aaron Weiss
* @version 1.0.0
* @since 1.0.0
*/
public enum ServerResponseCode {
// Valid Replies (prefixed by RPL)
RPL_NONE(300),
RPL_USERHOST(302),
RPL_ISON(303),
RPL_AWAY(301),
RPL_UNAWAY(305),
RPL_NOWAWAY(306),
RPL_WHOISUSER(311),
RPL_WHOISSERVER(312),
RPL_WHOISOPERATOR(313),
RPL_WHOISIDLE(317),
RPL_ENDOFWHOIS(318),
RPL_WHOISCHANNELS(319),
RPL_WHOWASUSER(314),
RPL_ENDOFWHOWAS(369),
RPL_LISTSTART(321),
RPL_LIST(322),
RPL_LISTEND(323),
RPL_CHANNELMODEIS(324),
RPL_NOTOPIC(331),
RPL_TOPIC(332),
RPL_INVITING(341),
RPL_SUMMONING(342),
RPL_VERSION(351),
RPL_WHOREPLY(352),
RPL_ENDOFWHO(315),
RPL_NAMREPLY(353),
RPL_ENDOFNAMES(366),
RPL_LINKS(364),
RPL_ENDOFLINKS(365),
RPL_BANLIST(367),
RPL_ENDOFBANLIST(368),
RPL_INFO(371),
RPL_ENDOFINFO(374),
RPL_MOTDSTART(375),
RPL_MOTD(372),
RPL_ENDOFMOTD(376),
RPL_YOUREOPER(381),
RPL_REHASHING(382),
RPL_TIME(391),
RPL_USERSTART(392),
RPL_USERS(393),
RPL_ENDOFUSERS(394),
RPL_NOUSERS(395),
RPL_TRACELINK(200),
RPL_TRACECONNECTING(201),
RPL_TRACEHANDSHAKE(202),
RPL_TRACEUNKNOWN(203),
RPL_TRACEOPERATOR(204),
RPL_TRACEUSER(205),
RPL_TRACESERVER(206),
RPL_TRACENEWTYPE(208),
RPL_TRACELOG(261),
RPL_STATSLINKINFO(211),
RPL_STATSCOMMANDS(212),
RPL_STATSCLINE(213),
RPL_STATSNLINE(214),
RPL_STATSILINE(215),
RPL_STATSKLINE(216),
RPL_STATSYLINE(218),
RPL_ENDOFSTATS(219),
RPL_STATSLLINE(241),
RPL_STATSUPTIME(242),
RPL_STATSOLINE(243),
RPL_STATSHLINE(244),
RPL_UMODEIS(221),
RPL_LUSERCLIENT(251),
RPL_LUSEROP(252),
RPL_LUSERUNKNOWN(253),
RPL_LUSERCHANNELS(254),
RPL_LUSERME(255),
RPL_ADMINME(256),
RPL_ADMINLOC1(257),
RPL_ADMINLOC2(258),
RPL_ADMINEMAIL(259),
// Error Replies (prefixed by ERR)
ERR_NOSUCHNICK(401),
ERR_NOSUCHSERVER(402),
ERR_NOSUCHCHANNEL(403),
ERR_CANNOTSENDTOCHAN(404),
ERR_TOOMANYCHANNELS(405),
ERR_WASNOSUCHNICK(406),
ERR_TOOMANYTARGETS(407),
ERR_NOORIGIN(409),
ERR_NORECIPIENT(411),
ERR_NOTEXTTOSEND(412),
ERR_NOTOPLEVEL(413),
ERR_WILDTOPLEVEL(414),
ERR_UNKNOWNCOMMAND(421),
ERR_NOMOTD(422),
ERR_NOADMININFO(423),
ERR_FILEERROR(424),
ERR_NONICKNAMEGIVEN(431),
ERR_ERRONEUSNICKNAME(432),
ERR_NICKNAMEINUSE(433),
ERR_NICKCOLLISION(436),
ERR_USERNOTINCHANNEL(441),
ERR_NOTONCHANNEL(442),
ERR_USERONCHANNEL(443),
ERR_NOLOGIN(444),
ERR_SUMMONDISABLED(445),
ERR_USERSDISABLED(446),
ERR_NOTREGISTERED(451),
ERR_NEEDMOREPARAMS(461),
ERR_ALREADYREGISTERED(462),
ERR_NOPERMFORHOST(463),
ERR_PASSWDMISMATCH(464),
ERR_YOUREBANNEDCREEP(465),
ERR_KEYSET(467),
ERR_CHANNELISFULL(471),
ERR_UNKNOWNMODE(472),
ERR_INVITEONLYCHAN(473),
ERR_BANNEDFROMCHAN(474),
ERR_BADCHANNELKEY(475),
ERR_NOPRIVILEGES(481),
ERR_CHANOPRIVSNEEDED(482),
ERR_CANTKILLSERVER(483),
ERR_NOOPERHOST(491),
ERR_UMODEUNKNOWNFLAG(501),
ERR_USERSDONTMATCH(502);
public final int value;
/**
* Creates a new server response code.
*
* @param value the value of the response code
*/
private ServerResponseCode(int value) {
this.value = value;
}
@Override
public String toString() {
return Integer.toString(value);
}
}