|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectjava.lang.Thread
org.schwering.irc.lib.IRCConnection
Creates a new connection to an IRC server. It's the main class of the IRClib, the point everything starts.
The following sample code tries to establish an IRC connection to an IRC server:
/*
* The following code of a class which imports org.schwering.irc.lib.*
* prepares an IRC connection and then tries to establish the connection.
* The server is "irc.somenetwork.com", the default portrange (6667 and
* 6669) is set, no password is used (null). The nickname is "Foo" and
* the realname is "Mr. Foobar". The username "foobar".
* Because of setDaemon(true), the JVM exits even if this thread is
* running.
* An instance of the class MyListener which must implement
* IRCActionListener is added as only event-listener for the connection.
* The connection is told to parse out mIRC color codes and to enable
* automatic PING? PONG! replies.
*/
IRCConnection conn = new IRCConnection(
"irc.somenetwork.com",
6667,
6669,
null,
"Foo",
"Mr. Foobar",
"foo@bar.com"
);
conn.addIRCEventListener(new MyListener());
conn.setDaemon(true);
conn.setColors(false);
conn.setPong(true);
try {
conn.connect(); // Try to connect!!! Don't forget this!!!
} catch (IOException ioexc) {
ioexc.printStackTrace();
}
The serverpassword isn't needed in most cases. You can give
null or "" instead as done in this example.
IRCEventListener,
IRCParser,
IRCUtil,
SSLIRCConnection| Field Summary |
| Fields inherited from class java.lang.Thread |
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY |
| Constructor Summary | |
IRCConnection(java.lang.String host,
int[] ports,
java.lang.String pass,
java.lang.String nick,
java.lang.String username,
java.lang.String realname)
Creates a new IRC connection. |
|
IRCConnection(java.lang.String host,
int portMin,
int portMax,
java.lang.String pass,
java.lang.String nick,
java.lang.String username,
java.lang.String realname)
Creates a new IRC connection. |
|
| Method Summary | |
void |
addIRCEventListener(IRCEventListener l)
Adds a new IRCEventListener which listens
for actions coming from the IRC server. |
void |
close()
Close down the connection brutally. |
void |
connect()
Establish a connection to the server. |
void |
doAway()
Removes away message. |
void |
doAway(java.lang.String msg)
Sets away message. |
void |
doInvite(java.lang.String nick,
java.lang.String chan)
Invites a user to a channel. |
void |
doIson(java.lang.String nick)
Checks if one or more nicks are used on the server. |
void |
doJoin(java.lang.String chan)
Joins a channel without a key. |
void |
doJoin(java.lang.String chan,
java.lang.String key)
Joins a channel with a key. |
void |
doKick(java.lang.String chan,
java.lang.String nick)
Kicks a user from a channel. |
void |
doKick(java.lang.String chan,
java.lang.String nick,
java.lang.String msg)
Kicks a user from a channel with a comment. |
void |
doList()
Lists all channels with their topic and status. |
void |
doList(java.lang.String chan)
Lists channel(s) with their topic and status. |
void |
doMode(java.lang.String chan)
Requests a Reply 324 for the modes of a given channel. |
void |
doMode(java.lang.String target,
java.lang.String mode)
Sends a mode to the server. |
void |
doNames()
Lists all visible users. |
void |
doNames(java.lang.String chan)
Lists all visible users of (a) channel(s). |
void |
doNick(java.lang.String nick)
Changes the nickname. |
void |
doNotice(java.lang.String target,
java.lang.String msg)
Notices a message to a person or a channel. |
void |
doPart(java.lang.String chan)
Parts from a given channel. |
void |
doPart(java.lang.String chan,
java.lang.String msg)
Parts from a given channel with a given parg-msg. |
void |
doPong(java.lang.String ping)
Quits from the IRC server with a quit-msg. |
void |
doPrivmsg(java.lang.String target,
java.lang.String msg)
Sends a message to a person or a channel. |
void |
doQuit()
Quits from the IRC server. |
void |
doQuit(java.lang.String msg)
Quits from the IRC server with a quit-msg. |
void |
doTopic(java.lang.String chan)
Requests the topic of a chan. |
void |
doTopic(java.lang.String chan,
java.lang.String topic)
Changes the topic of a chan. |
void |
doUserhost(java.lang.String nick)
Requires host-information about up to 5 users which must be listed and divided by spaces. |
void |
doWho(java.lang.String criteric)
Requests information about users matching the given criteric, for example a channel they are on. |
void |
doWhois(java.lang.String nick)
Requires information about an existing user. |
void |
doWhowas(java.lang.String nick)
Requires host-information about a user, who is not connected anymore. |
boolean |
getColors()
Indicates whether colors are stripped out or not. |
java.lang.String |
getEncoding()
Returns the encoding of the socket. |
java.lang.String |
getHost()
Returns the server of this instance. |
java.lang.String |
getNick()
Returns the nickname of this instance. |
java.lang.String |
getPassword()
Returns the password of this instance. |
boolean |
getPong()
Indicates whether automatic PING? |
int |
getPort()
Returns the port to which the IRCConnection connected, or
0 if the connection failed or wasn't tried yet. |
int[] |
getPorts()
Returns all ports to which the IRCConnection is going to try
or has tried to connect to. |
java.lang.String |
getRealname()
Returns the realname of this instance. |
int |
getTimeout()
Returns the timeout of the socket. |
java.lang.String |
getUsername()
Returns the username of this instance. |
boolean |
isConnected()
Tells whether there's a connection to the IRC network or not. |
boolean |
removeIRCEventListener(IRCEventListener l)
Removes the first occurence of the given IRCEventListener from the listener-vector. |
void |
run()
The Thread is started by the connect method.
|
void |
send(java.lang.String line)
Sends a String to the server. |
void |
setColors(boolean colors)
Enables or disables the mIRC colorcodes. |
void |
setEncoding(java.lang.String encoding)
Changes the character encoding used to talk to the server. |
void |
setPong(boolean pong)
Enables or disables the automatic PING? |
void |
setTimeout(int millis)
Sets the connection's timeout in milliseconds. |
java.lang.String |
toString()
Generates a String with some information about the instance of
IRCConnection.
|
| Methods inherited from class java.lang.Thread |
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, yield |
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
public IRCConnection(java.lang.String host,
int[] ports,
java.lang.String pass,
java.lang.String nick,
java.lang.String username,
java.lang.String realname)
int[]. Thus, also ports like 1024, 2048, 6667 and
6669 can be selected.connect method. Before invoking it, you should
set the IRCEventListener and other settings."" or null for the password
argument in the constructor.
host - The hostname of the server we want to connect to.ports - The portrange to which we want to connect.pass - The password of the IRC server. If your server isn't
secured by a password (that's normal), use
null or "".nick - The nickname for the connection. Is used to register the
connection.username - The username. Is used to register the connection.realname - The realname. Is used to register the connection.
java.lang.IllegalArgumentException - If the host or
ports is null or
ports' length is
0.connect()
public IRCConnection(java.lang.String host,
int portMin,
int portMax,
java.lang.String pass,
java.lang.String nick,
java.lang.String username,
java.lang.String realname)
ints. Thus, only a portrange from port x to
port y like from port 6667 to 6669 can be selected.connect method. Before invoking it, you should
set the IRCEventListener and other settings."" or null for the password
argument in the constructor.
host - The hostname of the server we want to connect to.portMin - The beginning of the port range we are going to connect
to.portMax - The ending of the port range we are going to connect to.pass - The password of the IRC server. If your server isn't
secured by a password (that's normal), use
null or "".nick - The nickname for the connection. Is used to register the
connection.username - The username. Is used to register the connection.realname - The realname. Is used to register the connection.
java.lang.IllegalArgumentException - If the host is
null.connect()| Method Detail |
public void connect()
throws java.io.IOException
IOException.connect only one time.
java.io.IOException - If an I/O error occurs.
java.net.SocketException - If the connect method was already
invoked.isConnected(),
doQuit(),
doQuit(String),
close()public void run()
Thread is started by the connect method.
It's task is to receive strings from the IRC server and hand them over
to the get method.
public void send(java.lang.String line)
do* methods (like doJoin). A carriage
return line feed (\r\n) is appended automatically.
line - The line which should be send to the server without the
trailing carriage return line feed (\r\n).public void close()
QUIT. You should
always use the doQuit methods or send("QUIT")
instead of this method. QUIT command.
connect(),
doQuit(),
doQuit(String)public void addIRCEventListener(IRCEventListener l)
IRCEventListener which listens
for actions coming from the IRC server.
l - An instance of the
IRCEventListener interface.
java.lang.IllegalArgumentException - If listener is
null.public boolean removeIRCEventListener(IRCEventListener l)
IRCEventListener from the listener-vector.
l - An instance of the
IRCEventListener interface.
true if the listener was successfully removed;
false if it was not found.public void setColors(boolean colors)
colors - true to enable, false to disable
colors.public void setPong(boolean pong)
pong - true to enable automatic PONG
reply, false makes the class fire
onPing events.public void setEncoding(java.lang.String encoding)
connect()
method.
encoding - public void setTimeout(int millis)
1000 * 60 15 millis which are 15 minutes.
public boolean isConnected()
connect wasn't called yet, it returns false.
true if it's connected.connect(),
doQuit(),
doQuit(String),
close()public java.lang.String getNick()
public java.lang.String getRealname()
public java.lang.String getUsername()
public java.lang.String getHost()
public java.lang.String getPassword()
null is returned.
null is
returned.public int[] getPorts()
IRCConnection is going to try
or has tried to connect to.
int[] array.public int getPort()
IRCConnection connected, or
0 if the connection failed or wasn't tried yet.
IRCConnection, or
0 if the connection failed or wasn't tried yet.public boolean getColors()
true if colors are disabled.public boolean getPong()
true if PING? PONG! is done automatically.public java.lang.String getEncoding()
public int getTimeout()
-1 is returned.
public java.lang.String toString()
String with some information about the instance of
IRCConnection.
Its format is:
classname[host,portMin,portMax,username,nick,realname,pass,connected]
.
String with information about the instance.public void doAway()
public void doAway(java.lang.String msg)
msg - The away message.
public void doInvite(java.lang.String nick,
java.lang.String chan)
nick - The nickname of the user who should be invited.chan - The channel the user should be invited to.public void doIson(java.lang.String nick)
nick - The nickname of the user we search for.public void doJoin(java.lang.String chan)
chan - The channel which is to join.
public void doJoin(java.lang.String chan,
java.lang.String key)
chan - The channel which is to join.key - The key of the channel.
public void doKick(java.lang.String chan,
java.lang.String nick)
chan - The channel somebody should be kicked from.nick - The nickname of the user who should be kicked.
public void doKick(java.lang.String chan,
java.lang.String nick,
java.lang.String msg)
chan - The channel somebody should be kicked from.nick - The nickname of the user who should be kicked.msg - The optional kickmessage.public void doList()
public void doList(java.lang.String chan)
chan - The channel the LIST refers to.public void doNames()
public void doNames(java.lang.String chan)
chan - The channel the NAMES command is refering to.
public void doPrivmsg(java.lang.String target,
java.lang.String msg)
target - The nickname or channel the message should be sent to.msg - The message which should be transmitted.public void doMode(java.lang.String chan)
chan - The channel the MODE request is refering to.
public void doMode(java.lang.String target,
java.lang.String mode)
String mode must contain the operators (+/-), the modes
(o/v/i/k/l/p/s/w) and the possibly values (nicks/banmask/limit/key).
target - The nickname or channel of the user whose modes will be
changed.mode - The new modes.public void doNick(java.lang.String nick)
nick - The new nickname.
public void doNotice(java.lang.String target,
java.lang.String msg)
target - The nickname or channel (group) the message should be
sent to.msg - The message which should be transmitted.public void doPart(java.lang.String chan)
chan - The channel you want to part from.
public void doPart(java.lang.String chan,
java.lang.String msg)
chan - The channel you want to part from.msg - The optional partmessage.public void doPong(java.lang.String ping)
ping - The ping which was received in onPing. It's a
String, because sometimes on some networks
the server-hostname (for example splatterworld.quakenet.org) is
given as parameter which would throw an Exception if we
gave the ping as long.public void doQuit()
disconnect-method which does the work actually.
isConnected(),
connect(),
doQuit(String),
close()public void doQuit(java.lang.String msg)
disconnect-method which does the work actually.
msg - The optional quitmessage.isConnected(),
connect(),
doQuit(),
close()public void doTopic(java.lang.String chan)
chan - The channel which topic should be requested.
public void doTopic(java.lang.String chan,
java.lang.String topic)
chan - The channel which topic is changed.topic - The new topic.public void doWho(java.lang.String criteric)
criteric - The criterics of the WHO query.public void doWhois(java.lang.String nick)
nick - The nickname of the user the query is refering to.public void doWhowas(java.lang.String nick)
nick - The nickname of the user the query is refering to.public void doUserhost(java.lang.String nick)
nick - The nickname of the user the query is refering to.
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||