package com.esri.geoevent.solutions.transport.irc.jerklib.events.impl; import java.util.Date; import java.util.List; import com.esri.geoevent.solutions.transport.irc.jerklib.Session; import com.esri.geoevent.solutions.transport.irc.jerklib.events.WhoisEvent; /** * @author mohadib * @see WhoisEvent * */ public class WhoisEventImpl implements WhoisEvent { private final Type type = Type.WHOIS_EVENT; private final String host, user, realName, nick; private final Session session; private String whoisServer, whoisServerInfo, rawEventData; private List<String> channelNames; private boolean isOp; private long secondsIdle; private int signOnTime; public WhoisEventImpl(String nick, String realName, String user, String host, String rawEventData, Session session) { this.nick = nick; this.realName = realName; this.user = user; this.host = host; this.session = session; this.rawEventData = rawEventData; } /* (non-Javadoc) * @see com.esri.ges.transport.Irc.jerklib.events.WhoisEvent#getChannelNames() */ public List<String> getChannelNames() { return channelNames; } /** * @param chanNames */ public void setChannelNamesList(List<String> chanNames) { channelNames = chanNames; } /* (non-Javadoc) * @see com.esri.ges.transport.Irc.jerklib.events.WhoisEvent#getHost() */ public String getHost() { return host; } /* (non-Javadoc) * @see com.esri.ges.transport.Irc.jerklib.events.WhoisEvent#getUser() */ public String getUser() { return user; } /* (non-Javadoc) * @see com.esri.ges.transport.Irc.jerklib.events.WhoisEvent#getRealName() */ public String getRealName() { return realName; } /* (non-Javadoc) * @see com.esri.ges.transport.Irc.jerklib.events.WhoisEvent#getNick() */ public String getNick() { return nick; } /* (non-Javadoc) * @see com.esri.ges.transport.Irc.jerklib.events.WhoisEvent#isAnOperator() */ public boolean isAnOperator() { return isOp; } /* (non-Javadoc) * @see com.esri.ges.transport.Irc.jerklib.events.WhoisEvent#isIdle() */ public boolean isIdle() { return secondsIdle > 0; } /* (non-Javadoc) * @see com.esri.ges.transport.Irc.jerklib.events.WhoisEvent#secondsIdle() */ public long secondsIdle() { return secondsIdle; } /** * @param secondsIdle */ public void setSecondsIdle(int secondsIdle) { this.secondsIdle = secondsIdle(); } /* (non-Javadoc) * @see com.esri.ges.transport.Irc.jerklib.events.WhoisEvent#signOnTime() */ public Date signOnTime() { return new Date(1000L * signOnTime); } /** * @param signOnTime */ public void setSignOnTime(int signOnTime) { this.signOnTime = signOnTime; } /* (non-Javadoc) * @see com.esri.ges.transport.Irc.jerklib.events.WhoisEvent#whoisServer() */ public String whoisServer() { return whoisServer; } /** * @param whoisServer */ public void setWhoisServer(String whoisServer) { this.whoisServer = whoisServer; } /* (non-Javadoc) * @see com.esri.ges.transport.Irc.jerklib.events.WhoisEvent#whoisServerInfo() */ public String whoisServerInfo() { return whoisServerInfo; } /** * @param whoisServerInfo */ public void setWhoisServerInfo(String whoisServerInfo) { this.whoisServerInfo = whoisServerInfo; } /* (non-Javadoc) * @see com.esri.ges.transport.Irc.jerklib.events.IRCEvent#getRawEventData() */ public String getRawEventData() { return rawEventData; } /** * @param rawEventData */ public void appendRawEventData(String rawEventData) { this.rawEventData += "\r\n" + rawEventData; } /* (non-Javadoc) * @see com.esri.ges.transport.Irc.jerklib.events.IRCEvent#getSession() */ public Session getSession() { return session; } /* (non-Javadoc) * @see com.esri.ges.transport.Irc.jerklib.events.IRCEvent#getType() */ public Type getType() { return type; } }