package org.limewire.ui.swing.friends.chat;
import org.limewire.friend.api.ChatState;
import org.limewire.friend.api.MessageReader;
class MessageReaderImpl implements MessageReader {
private final ChatFriend chatFriend;
MessageReaderImpl(ChatFriend chatFriend) {
this.chatFriend = chatFriend;
}
@Override
public void readMessage(final String message) {
if (message != null) {
final Message msg = newMessage(message, Message.Type.RECEIVED);
new MessageReceivedEvent(msg).publish();
}
}
private Message newMessage(String message, Message.Type type) {
return new MessageTextImpl(chatFriend.getName(), chatFriend.getID(), type, message);
}
@Override
public void newChatState(ChatState chatState) {
new ChatStateEvent(chatFriend, chatState).publish();
}
@Override
public void error(String errorMessage) {
ErrorMessage errMsg = new ErrorMessage(chatFriend.getID(),
errorMessage, Message.Type.SERVER);
new MessageReceivedEvent(errMsg).publish();
}
}