Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package irc;
- import java.util.ArrayList;
- public class IRCMessage{
- public boolean valid;
- public String message;
- public String prefix;
- public String command;
- public String parameter;
- public String servername;
- public String identification;
- public String nick;
- public String user;
- public String host;
- public String[] parameters;
- public String trailing;
- public IRCMessage(String message){
- message = message.trim();
- this.message = message;
- valid = false;
- prefix = null;
- command = null;
- parameter = null;
- servername = null;
- identification = null;
- nick = null;
- user = null;
- host = null;
- parameters = null;
- trailing = null;
- try{
- if(message.length() > 0){
- String[] parts;
- if(message.charAt(0) == ':'){
- parts = message.split(" ", 2);
- prefix = parts[0].substring(1);
- message = parts[1].trim();
- if(prefix.indexOf("!") != -1){
- identification = prefix;
- nick = identification;
- if(identification.indexOf("@") != -1){
- parts = nick.split("@", 2);
- nick = parts[0];
- host = parts[1];
- }
- if(nick.indexOf("!") != -1){
- parts = nick.split("!", 2);
- nick = parts[0];
- user = parts[1];
- }
- }else{
- servername = prefix;
- }
- }
- command = message.substring(0, message.indexOf(" "));
- parameter = message.substring(command.length());
- if(parameter.indexOf(":") != -1){
- parts = parameter.split(":", 2);
- parameter = parts[0];
- trailing = parts[1];
- }
- parameter = parameter.trim();
- parameters = parameter.split(" ");
- ArrayList<String> pars = new ArrayList<String>();
- int i;
- for(i = 0 ; i < parameters.length; i++){
- if(parameters[i].length() > 0){
- pars.add(parameters[i]);
- }
- }
- parameters = new String[pars.size()];
- for(i = 0 ; i < pars.size(); i++){
- parameters[i] = pars.get(i);
- }
- valid = true;
- }
- }catch(Exception exception){}
- }
- public String format(){
- if(valid){
- String formatted = "";
- if(prefix != null){
- formatted += ":";
- if(servername != null){
- formatted += servername;
- }else{
- formatted += nick;
- if(user != null){
- formatted += "!" + user;
- }
- if(host != null){
- formatted += "!" + host;
- }
- }
- formatted += " ";
- }
- formatted += command;
- int i;
- for(i = 0; i < parameters.length; i++){
- formatted += " " + parameters[i];
- }
- if(trailing != null){
- formatted += " :" + trailing;
- }
- return formatted;
- }else{
- return null;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement