package org.freecode.irc;
/**
* User: Shivam
* Date: 28/07/13
* Time: 21:42
*/
public class Notice extends Transmittable {
private final String target;
private final String message;
private final String senderMask;
private final String user;
private final String nick;
private final String host;
private final IrcConnection connection;
public Notice(String rawLine, IrcConnection connection) {
this.connection = connection;
final String[] parts = rawLine.split(" ", 4);
senderMask = parts[0];
if(senderMask.contains("!")) {
nick = senderMask.substring(0, senderMask.indexOf('!'));
user = senderMask.substring(senderMask.indexOf('!') + 1, senderMask.indexOf('@'));
host = senderMask.substring(senderMask.indexOf('@') + 1);
} else {
nick = senderMask;
user = null;
host = null;
}
message = parts[3].substring(1);
target = parts[2];
}
public Notice(final String target, final String message, final IrcConnection connection) {
this.connection = connection;
this.message = message;
this.target = target;
this.senderMask = null;
this.user = null;
this.nick = null;
this.host = null;
}
public String getTarget() {
return target;
}
public String getMessage() {
return message;
}
public String getSenderMask() {
return senderMask;
}
public String getUser() {
return user;
}
public String getNick() {
return nick;
}
public String getHost() {
return host;
}
public IrcConnection getIrcConnection() {
return connection;
}
public String getRaw() {
return String.format("NOTICE %s :%s", target, message);
}
public String getCommand() {
return "NOTICE";
}
}