summaryrefslogtreecommitdiffstats
path: root/EssentialsUpdate/src/f00f/net/irc/martyr/replies/AbstractWhoisReply.java
blob: d52e59dcf0ca4812ff595359f9fd1591e9066f4d (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
package f00f.net.irc.martyr.replies;

import f00f.net.irc.martyr.util.ParameterIterator;

public abstract class AbstractWhoisReply extends GenericReply
{
    //static Logger log = Logger.getLogger(AbstractWhoisReply.class);

    private String target = null;

	/**
	 * Factory constructor.
	 * */
	public AbstractWhoisReply()
	{
	}

	public AbstractWhoisReply( String params )
	{
		ParameterIterator pi = getParams( params );
		parseParams( pi );
	}

	public abstract String getIrcIdentifier();

	/**
	 * Parse the parameters, but the target param has already been
	 * stripped off.
     *
     * @param pi Parameter iterator that will parse the parameters
	 * */
	protected abstract void parseParams( ParameterIterator pi );

	/**
	 * @return the target of the whois
	 * */
	public String getTarget()
	{
		return target;
	}

	/**
	 * @param params the params string passed to "parse".
	 * @return a parameter iterator, with the whois target already
	 * stripped off.
	 * */
	protected ParameterIterator getParams( String params )
	{
		ParameterIterator pi = new ParameterIterator(params);
		pi.next(); // throw away our own nick
		this.target = (String)pi.next();
		//log.debug("AbstractWhoisReply: Whois target: " + target);

		return pi;
	}

}