created Class Message
This commit is contained in:
parent
e0ca1c77bb
commit
e11fb136cf
|
@ -170,17 +170,17 @@ public class ChatWindowController {
|
|||
}
|
||||
|
||||
public void addMessage(String sender, String receiver, String message) {
|
||||
messages.addMessage(ClientMessageList.MessageType.MESSAGE, sender, receiver, message);
|
||||
messages.addMessage(new Message(Message.MessageType.MESSAGE, sender, receiver, message));
|
||||
this.redrawMessageList();
|
||||
}
|
||||
|
||||
public void addInfo(String message) {
|
||||
messages.addMessage(ClientMessageList.MessageType.INFO, null, null, message);
|
||||
messages.addMessage(new Message(Message.MessageType.INFO, null, null, message));
|
||||
this.redrawMessageList();
|
||||
}
|
||||
|
||||
public void addError(String message) {
|
||||
messages.addMessage(ClientMessageList.MessageType.ERROR, null, null, message);
|
||||
messages.addMessage(new Message(Message.MessageType.ERROR, null, null, message));
|
||||
this.redrawMessageList();
|
||||
}
|
||||
|
||||
|
|
|
@ -5,47 +5,34 @@ import java.util.List;
|
|||
import java.util.Objects;
|
||||
|
||||
public class ClientMessageList {
|
||||
private final List<MessageType> typeList = new ArrayList<>();
|
||||
private final List<String> senderList = new ArrayList<>();
|
||||
private final List<String> receiverList = new ArrayList<>();
|
||||
private final List<String> messageList = new ArrayList<>();
|
||||
private final List<Message> messages = new ArrayList<>();
|
||||
private final ChatWindowController gui;
|
||||
|
||||
public ClientMessageList(ChatWindowController gui) {
|
||||
this.gui = gui;
|
||||
}
|
||||
|
||||
public void addMessage(MessageType type, String sender, String receiver, String message) {
|
||||
typeList.add(type);
|
||||
senderList.add(sender);
|
||||
receiverList.add(receiver);
|
||||
messageList.add(message);
|
||||
public void addMessage(Message message) {
|
||||
messages.add(message);
|
||||
}
|
||||
|
||||
public void writeFilteredMessages(String filter) {
|
||||
boolean showAll = filter == null || filter.isBlank();
|
||||
gui.clearMessageArea();
|
||||
for(int i=0; i<senderList.size(); i++) {
|
||||
String sender = Objects.requireNonNullElse(senderList.get(i),"");
|
||||
String receiver = Objects.requireNonNullElse(receiverList.get(i),"");
|
||||
String message = Objects.requireNonNull(messageList.get(i), "");
|
||||
for(Message message : messages) {
|
||||
if(showAll ||
|
||||
sender.contains(filter) ||
|
||||
receiver.contains(filter) ||
|
||||
message.contains(filter))
|
||||
message.getSender().contains(filter) ||
|
||||
message.getReceiver().contains(filter) ||
|
||||
message.getText().contains(filter))
|
||||
{
|
||||
switch (typeList.get(i)) {
|
||||
case MESSAGE: gui.writeMessage(senderList.get(i), receiverList.get(i), messageList.get(i)); break;
|
||||
case ERROR: gui.writeError(messageList.get(i)); break;
|
||||
case INFO: gui.writeInfo(messageList.get(i)); break;
|
||||
default: gui.writeError("Unexpected message type: " + typeList.get(i));
|
||||
switch (message.getType()) {
|
||||
case MESSAGE: gui.writeMessage(message.getSender(), message.getReceiver(), message.getText()); break;
|
||||
case ERROR: gui.writeError(message.getText()); break;
|
||||
case INFO: gui.writeInfo(message.getText()); break;
|
||||
default: gui.writeError("Unexpected message type: " + message.getType());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public enum MessageType {
|
||||
INFO, MESSAGE, ERROR;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
package ch.zhaw.pm2.multichat.client;
|
||||
|
||||
public class Message {
|
||||
private MessageType type;
|
||||
private String sender;
|
||||
private String receiver;
|
||||
private String text;
|
||||
|
||||
public Message(MessageType type, String sender, String receiver, String text) {
|
||||
this.type = type;
|
||||
this.sender = sender;
|
||||
this.receiver = receiver;
|
||||
this.text = text;
|
||||
}
|
||||
|
||||
public MessageType getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public String getSender() {
|
||||
return sender;
|
||||
}
|
||||
|
||||
public String getReceiver() {
|
||||
return receiver;
|
||||
}
|
||||
|
||||
public String getText() {
|
||||
return text;
|
||||
}
|
||||
|
||||
public enum MessageType {
|
||||
INFO, MESSAGE, ERROR;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue