Added comments for chat room listener.

fix-message-formatting
Danny van Heumen 12 years ago
parent 61a1f2ac5a
commit 2a0c92a40a

@ -802,8 +802,16 @@ private ChatRoomIrcImpl initiatePrivateChatRoom(String user)
private class ChatRoomListener private class ChatRoomListener
extends VariousMessageListenerAdapter extends VariousMessageListenerAdapter
{ {
/**
* Chat room for which this listener is working.
*/
private ChatRoomIrcImpl chatroom; private ChatRoomIrcImpl chatroom;
/**
* Constructor. Instantiate listener for the provided chat room.
*
* @param chatroom
*/
private ChatRoomListener(ChatRoomIrcImpl chatroom) private ChatRoomListener(ChatRoomIrcImpl chatroom)
{ {
if (chatroom == null) if (chatroom == null)
@ -812,30 +820,39 @@ private ChatRoomListener(ChatRoomIrcImpl chatroom)
this.chatroom = chatroom; this.chatroom = chatroom;
} }
/**
* Event in case of topic change.
*/
@Override @Override
public void onTopicChange(TopicMessage msg) public void onTopicChange(TopicMessage msg)
{ {
if (isThisChatRoom(msg.getChannelName()) == false) if (isThisChatRoom(msg.getChannelName()) == false)
return; return;
this.chatroom.updateSubject(msg.getTopic().getValue()); this.chatroom.updateSubject(msg.getTopic().getValue());
} }
/**
* Event in case of channel mode changes.
*/
@Override @Override
public void onChannelMode(ChannelModeMessage msg) public void onChannelMode(ChannelModeMessage msg)
{ {
if (isThisChatRoom(msg.getChannelName()) == false) if (isThisChatRoom(msg.getChannelName()) == false)
return; return;
processModeMessage(msg); processModeMessage(msg);
} }
/**
* Event in case of channel join message.
*/
@Override @Override
public void onChannelJoin(ChanJoinMessage msg) public void onChannelJoin(ChanJoinMessage msg)
{ {
if (isThisChatRoom(msg.getChannelName()) == false) if (isThisChatRoom(msg.getChannelName()) == false)
return; return;
if (isMe(msg.getSource())) if (isMe(msg.getSource()))
{ {
// I think that this should not happen. // I think that this should not happen.
@ -851,12 +868,15 @@ public void onChannelJoin(ChanJoinMessage msg)
} }
} }
/**
* Event in case of channel part.
*/
@Override @Override
public void onChannelPart(ChanPartMessage msg) public void onChannelPart(ChanPartMessage msg)
{ {
if (isThisChatRoom(msg.getChannelName()) == false) if (isThisChatRoom(msg.getChannelName()) == false)
return; return;
if (isMe(msg.getSource())) if (isMe(msg.getSource()))
{ {
IrcStack.this.irc.deleteListener(this); IrcStack.this.irc.deleteListener(this);
@ -885,13 +905,16 @@ public void onChannelPart(ChanPartMessage msg)
} }
} }
} }
/**
* Event in case of channel kick.
*/
@Override @Override
public void onChannelKick(ChannelKick msg) public void onChannelKick(ChannelKick msg)
{ {
if (isThisChatRoom(msg.getChannelName()) == false) if (isThisChatRoom(msg.getChannelName()) == false)
return; return;
String kickedUser = msg.getKickedNickname(); String kickedUser = msg.getKickedNickname();
if (isMe(kickedUser)) if (isMe(kickedUser))
{ {
@ -919,6 +942,9 @@ public void onChannelKick(ChannelKick msg)
} }
} }
/**
* Event in case of user quit.
*/
@Override @Override
public void onUserQuit(QuitMessage msg) public void onUserQuit(QuitMessage msg)
{ {
@ -931,7 +957,10 @@ public void onUserQuit(QuitMessage msg)
msg.getQuitMsg()); msg.getQuitMsg());
} }
} }
/**
* Event in case of nick change.
*/
@Override @Override
public void onNickChange(NickMessage msg) public void onNickChange(NickMessage msg)
{ {
@ -956,7 +985,10 @@ public void onNickChange(NickMessage msg)
this.chatroom.fireMemberPropertyChangeEvent(evt); this.chatroom.fireMemberPropertyChangeEvent(evt);
} }
} }
/**
* Event in case of channel message arrival.
*/
@Override @Override
public void onChannelMessage(ChannelPrivMsg msg) public void onChannelMessage(ChannelPrivMsg msg)
{ {
@ -976,12 +1008,17 @@ public void onChannelMessage(ChannelPrivMsg msg)
ChatRoomMessageReceivedEvent.CONVERSATION_MESSAGE_RECEIVED); ChatRoomMessageReceivedEvent.CONVERSATION_MESSAGE_RECEIVED);
} }
/**
* Process mode changes.
*
* @param msg raw mode message
*/
private void processModeMessage(ChannelModeMessage msg) private void processModeMessage(ChannelModeMessage msg)
{ {
// TODO Handle or ignore ban channel mode (MODE STRING: +b // TODO Handle or ignore ban channel mode (MODE STRING: +b
// *!*@some-ip.dynamicIP.provider.net) // *!*@some-ip.dynamicIP.provider.net)
ChatRoomMemberIrcImpl sourceMember = extractChatRoomMember(msg); ChatRoomMemberIrcImpl sourceMember = extractChatRoomMember(msg);
ModeParser parser = new ModeParser(msg); ModeParser parser = new ModeParser(msg);
for (ModeEntry mode : parser.getModes()) for (ModeEntry mode : parser.getModes())
{ {
@ -1165,6 +1202,12 @@ sourceMember, new Date(),
} }
} }
/**
* Extract chat room member identifier from message.
*
* @param msg raw mode message
* @return returns member instance
*/
private ChatRoomMemberIrcImpl extractChatRoomMember( private ChatRoomMemberIrcImpl extractChatRoomMember(
ChannelModeMessage msg) ChannelModeMessage msg)
{ {
@ -1195,17 +1238,35 @@ else if (source instanceof IRCUser)
return member; return member;
} }
/**
* Test whether this listener corresponds to the chat room.
*
* @param chatRoomName chat room name
* @return returns true if this listener applies, false otherwise
*/
private boolean isThisChatRoom(String chatRoomName) private boolean isThisChatRoom(String chatRoomName)
{ {
return this.chatroom.getIdentifier().equals(chatRoomName); return this.chatroom.getIdentifier().equals(chatRoomName);
} }
/**
* Test whether the source user is this user.
*
* @param user the source user
* @return returns true if this use, or false otherwise
*/
private boolean isMe(IRCUser user) private boolean isMe(IRCUser user)
{ {
return IrcStack.this.connectionState.getNickname().equals( return IrcStack.this.connectionState.getNickname().equals(
user.getNick()); user.getNick());
} }
/**
* Test whether the user nick is this user.
*
* @param name nick of the user
* @return returns true if so, false otherwise
*/
private boolean isMe(String name) private boolean isMe(String name)
{ {
return IrcStack.this.connectionState.getNickname().equals(name); return IrcStack.this.connectionState.getNickname().equals(name);

Loading…
Cancel
Save