summaryrefslogtreecommitdiffstats
path: root/EssentialsUpdate/src/f00f/net/irc/martyr/errors/UnknownError.java
blob: 22536129489681c6bbb3c3294ce960c2758d498c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package f00f.net.irc.martyr.errors;

import f00f.net.irc.martyr.InCommand;
import f00f.net.irc.martyr.State;
import f00f.net.irc.martyr.commands.UnknownCommand;


/**
 * Some unknown command, for which there is no factory.  This is a
 * special case command, created by IRCConnection if it can't find a
 * proper command object.
 */
public class UnknownError extends UnknownCommand
{

	private String errorStr;
	private int errorCode;

	public UnknownError( String ident )
	{
		errorStr = ident;
		errorCode = Integer.parseInt( ident );
	}

	public int getErrorCode()
	{
		return errorCode;
	}

	public String getError()
	{
		return errorStr;
	}

	public static boolean isError( String ident )
	{
		char c = ident.charAt(0);
		return ( c == '4' || c == '5' );
	}

	public State getState()
	{
		return State.UNKNOWN;
	}

	/** 
	 * Never parsed.
	 */
	public InCommand parse( String prefix, String identifier, String params )
	{
		throw new UnsupportedOperationException("UnknownError does no parsing.");
	}

	/**
	 * Unknown, so we don't know what the identifier is ahead of time.
	 */
	public String getIrcIdentifier()
	{
		return errorStr;
	}

	public String toString()
	{
		return "UnknownError[" + errorStr + "]";
	}

}