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) {
|
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();
|
this.redrawMessageList();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addInfo(String message) {
|
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();
|
this.redrawMessageList();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addError(String message) {
|
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();
|
this.redrawMessageList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,47 +5,34 @@ import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
public class ClientMessageList {
|
public class ClientMessageList {
|
||||||
private final List<MessageType> typeList = new ArrayList<>();
|
private final List<Message> messages = 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 ChatWindowController gui;
|
private final ChatWindowController gui;
|
||||||
|
|
||||||
public ClientMessageList(ChatWindowController gui) {
|
public ClientMessageList(ChatWindowController gui) {
|
||||||
this.gui = gui;
|
this.gui = gui;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addMessage(MessageType type, String sender, String receiver, String message) {
|
public void addMessage(Message message) {
|
||||||
typeList.add(type);
|
messages.add(message);
|
||||||
senderList.add(sender);
|
|
||||||
receiverList.add(receiver);
|
|
||||||
messageList.add(message);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void writeFilteredMessages(String filter) {
|
public void writeFilteredMessages(String filter) {
|
||||||
boolean showAll = filter == null || filter.isBlank();
|
boolean showAll = filter == null || filter.isBlank();
|
||||||
gui.clearMessageArea();
|
gui.clearMessageArea();
|
||||||
for(int i=0; i<senderList.size(); i++) {
|
for(Message message : messages) {
|
||||||
String sender = Objects.requireNonNullElse(senderList.get(i),"");
|
|
||||||
String receiver = Objects.requireNonNullElse(receiverList.get(i),"");
|
|
||||||
String message = Objects.requireNonNull(messageList.get(i), "");
|
|
||||||
if(showAll ||
|
if(showAll ||
|
||||||
sender.contains(filter) ||
|
message.getSender().contains(filter) ||
|
||||||
receiver.contains(filter) ||
|
message.getReceiver().contains(filter) ||
|
||||||
message.contains(filter))
|
message.getText().contains(filter))
|
||||||
{
|
{
|
||||||
switch (typeList.get(i)) {
|
switch (message.getType()) {
|
||||||
case MESSAGE: gui.writeMessage(senderList.get(i), receiverList.get(i), messageList.get(i)); break;
|
case MESSAGE: gui.writeMessage(message.getSender(), message.getReceiver(), message.getText()); break;
|
||||||
case ERROR: gui.writeError(messageList.get(i)); break;
|
case ERROR: gui.writeError(message.getText()); break;
|
||||||
case INFO: gui.writeInfo(messageList.get(i)); break;
|
case INFO: gui.writeInfo(message.getText()); break;
|
||||||
default: gui.writeError("Unexpected message type: " + typeList.get(i));
|
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