This repository has been archived on 2021-12-05. You can view files and clone it, but cannot push or open issues or pull requests.
envoy/src/main/java/envoy/server/data/GroupMessage.java

80 lines
2.4 KiB
Java
Raw Normal View History

2020-04-18 16:28:38 +02:00
package envoy.server.data;
import java.util.Map;
import javax.persistence.ElementCollection;
import javax.persistence.Entity;
2020-04-18 16:28:38 +02:00
2020-04-28 20:08:33 +02:00
import envoy.data.MessageBuilder;
2020-04-18 16:28:38 +02:00
/**
* Project: <strong>envoy-server-standalone</strong><br>
* File: <strong>GroupMessage.java</strong><br>
* Created: <strong>18.04.2020</strong><br>
*
* @author Maximilian K&auml;fer
* @since Envoy Server Standalone v0.1-beta
*/
@Entity
public class GroupMessage extends Message {
2020-04-18 16:28:38 +02:00
@ElementCollection
private Map<Long, envoy.data.Message.MessageStatus> memberMessageStatus;
/**
* The constructor for a database object.
*
* @since Envoy Server Standalone v0.1-beta
*/
public GroupMessage() {}
/**
* Constructs a database groupMessage from a common groupMessage.
*
* @param groupMessage the {@link envoy.data.GroupMessage} to convert into a
* database {@link GroupMessage}
* @since Envoy Server Standalone v0.1-beta
*/
public GroupMessage(envoy.data.GroupMessage groupMessage) {
super(groupMessage);
2020-04-18 16:28:38 +02:00
memberMessageStatus = groupMessage.getMemberStatuses();
}
2020-04-28 20:08:33 +02:00
/**
* Converts this groupMessage into an instance of
* {@link envoy.data.GroupMessage}.
*
* @return a {@link envoy.data.GroupMessage} containing the same values as this
* groupMessage
* @since Envoy Server Standalone v0.1-beta
*/
@Override
public envoy.data.GroupMessage toCommon() {
2020-04-28 20:08:33 +02:00
// TODO: Attachment
envoy.data.GroupMessage groupMessage = new MessageBuilder(sender.getID(), recipient.getID(), id).setDate(creationDate)
2020-04-28 20:08:33 +02:00
.setForwarded(forwarded)
.setStatus(status)
.setText(text)
// .setAttachment(attachment) TODO make this work
.buildGroupMessage((envoy.data.Group) recipient.toCommon(), memberMessageStatus);
2020-04-28 20:08:33 +02:00
groupMessage.setReceivedDate(receivedDate);
groupMessage.setReadDate(readDate);
return groupMessage;
}
2020-04-18 16:28:38 +02:00
/**
* @return the memberMessageStatus
* @since Envoy Server Standalone v0.1-beta
*/
public Map<Long, envoy.data.Message.MessageStatus> getMemberMessageStatus() { return memberMessageStatus; }
/**
* @param memberMessageStatus the memberMessageStatus to set
* @since Envoy Server Standalone v0.1-beta
*/
public void setMemberMessageStatus(Map<Long, envoy.data.Message.MessageStatus> memberMessageStatus) {
this.memberMessageStatus = memberMessageStatus;
}
}