Implemented the GroupMessage class
This commit is contained in:
		
							
								
								
									
										221
									
								
								src/main/java/envoy/server/data/GroupMessage.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										221
									
								
								src/main/java/envoy/server/data/GroupMessage.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,221 @@ | |||||||
|  | package envoy.server.data; | ||||||
|  |  | ||||||
|  | import java.util.Date; | ||||||
|  | import java.util.Map; | ||||||
|  |  | ||||||
|  | import javax.persistence.CascadeType; | ||||||
|  | import javax.persistence.ElementCollection; | ||||||
|  | import javax.persistence.Entity; | ||||||
|  | import javax.persistence.Id; | ||||||
|  | import javax.persistence.ManyToOne; | ||||||
|  | import javax.persistence.Table; | ||||||
|  | import javax.persistence.Temporal; | ||||||
|  | import javax.persistence.TemporalType; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Project: <strong>envoy-server-standalone</strong><br> | ||||||
|  |  * File: <strong>GroupMessage.java</strong><br> | ||||||
|  |  * Created: <strong>18.04.2020</strong><br> | ||||||
|  |  *  | ||||||
|  |  * @author Maximilian Käfer | ||||||
|  |  * @since Envoy Server Standalone v0.1-beta | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | @Entity | ||||||
|  | @Table(name = "groupMessages") | ||||||
|  | // @NamedQuery() | ||||||
|  | // TODO Add Queries | ||||||
|  | public class GroupMessage { | ||||||
|  |  | ||||||
|  | 	@Id | ||||||
|  | 	private long id; | ||||||
|  |  | ||||||
|  | 	@ManyToOne(cascade = CascadeType.PERSIST) | ||||||
|  | 	private User sender; | ||||||
|  |  | ||||||
|  | 	@ManyToOne(cascade = CascadeType.PERSIST) | ||||||
|  | 	private Group group; | ||||||
|  |  | ||||||
|  | 	@Temporal(TemporalType.TIMESTAMP) | ||||||
|  | 	private Date creationDate; | ||||||
|  |  | ||||||
|  | 	@Temporal(TemporalType.TIMESTAMP) | ||||||
|  | 	private Date receivedDate; | ||||||
|  |  | ||||||
|  | 	@Temporal(TemporalType.TIMESTAMP) | ||||||
|  | 	private Date readDate; | ||||||
|  |  | ||||||
|  | 	@ElementCollection | ||||||
|  | 	private Map<Long, envoy.data.Message.MessageStatus> memberMessageStatus; | ||||||
|  |  | ||||||
|  | 	private String								text; | ||||||
|  | 	private envoy.data.Message.MessageStatus	status; | ||||||
|  | 	private byte[]								attachment; | ||||||
|  | 	private boolean								forwarded; | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * 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) { | ||||||
|  | 		PersistenceManager persistenceManager = PersistenceManager.getInstance(); | ||||||
|  | 		id					= groupMessage.getID(); | ||||||
|  | 		status				= groupMessage.getStatus(); | ||||||
|  | 		text				= groupMessage.getText(); | ||||||
|  | 		creationDate		= groupMessage.getCreationDate(); | ||||||
|  | 		receivedDate		= groupMessage.getReceivedDate(); | ||||||
|  | 		readDate			= groupMessage.getReadDate(); | ||||||
|  | 		sender				= persistenceManager.getUserByID(groupMessage.getSenderID()); | ||||||
|  | 		group				= persistenceManager.getGroupByID(groupMessage.getRecipientID()); | ||||||
|  | 		forwarded			= groupMessage.isForwarded(); | ||||||
|  | 		memberMessageStatus	= groupMessage.getMemberStatuses(); | ||||||
|  | 		// TODO: attachment = groupMessage.getAttachment().toByteArray();DOES NOT WORK | ||||||
|  | 		// YET | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	// TODO Implement GroupMessageBuilder and add toCommonGroupMessage method here | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @return the id | ||||||
|  | 	 * @since Envoy Server Standalone v0.1-beta | ||||||
|  | 	 */ | ||||||
|  | 	public long getId() { return id; } | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @param id the id to set | ||||||
|  | 	 * @since Envoy Server Standalone v0.1-beta | ||||||
|  | 	 */ | ||||||
|  | 	public void setId(long id) { this.id = id; } | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @return the sender | ||||||
|  | 	 * @since Envoy Server Standalone v0.1-beta | ||||||
|  | 	 */ | ||||||
|  | 	public User getSender() { return sender; } | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @param sender the sender to set | ||||||
|  | 	 * @since Envoy Server Standalone v0.1-beta | ||||||
|  | 	 */ | ||||||
|  | 	public void setSender(User sender) { this.sender = sender; } | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @return the group | ||||||
|  | 	 * @since Envoy Server Standalone v0.1-beta | ||||||
|  | 	 */ | ||||||
|  | 	public Group getGroup() { return group; } | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @param group the group to set | ||||||
|  | 	 * @since Envoy Server Standalone v0.1-beta | ||||||
|  | 	 */ | ||||||
|  | 	public void setGroup(Group group) { this.group = group; } | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @return the creationDate | ||||||
|  | 	 * @since Envoy Server Standalone v0.1-beta | ||||||
|  | 	 */ | ||||||
|  | 	public Date getCreationDate() { return creationDate; } | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @param creationDate the creationDate to set | ||||||
|  | 	 * @since Envoy Server Standalone v0.1-beta | ||||||
|  | 	 */ | ||||||
|  | 	public void setCreationDate(Date creationDate) { this.creationDate = creationDate; } | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @return the receivedDate | ||||||
|  | 	 * @since Envoy Server Standalone v0.1-beta | ||||||
|  | 	 */ | ||||||
|  | 	public Date getReceivedDate() { return receivedDate; } | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @param receivedDate the receivedDate to set | ||||||
|  | 	 * @since Envoy Server Standalone v0.1-beta | ||||||
|  | 	 */ | ||||||
|  | 	public void setReceivedDate(Date receivedDate) { this.receivedDate = receivedDate; } | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @return the readDate | ||||||
|  | 	 * @since Envoy Server Standalone v0.1-beta | ||||||
|  | 	 */ | ||||||
|  | 	public Date getReadDate() { return readDate; } | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @param readDate the readDate to set | ||||||
|  | 	 * @since Envoy Server Standalone v0.1-beta | ||||||
|  | 	 */ | ||||||
|  | 	public void setReadDate(Date readDate) { this.readDate = readDate; } | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @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; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @return the text | ||||||
|  | 	 * @since Envoy Server Standalone v0.1-beta | ||||||
|  | 	 */ | ||||||
|  | 	public String getText() { return text; } | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @param text the text to set | ||||||
|  | 	 * @since Envoy Server Standalone v0.1-beta | ||||||
|  | 	 */ | ||||||
|  | 	public void setText(String text) { this.text = text; } | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @return the status | ||||||
|  | 	 * @since Envoy Server Standalone v0.1-beta | ||||||
|  | 	 */ | ||||||
|  | 	public envoy.data.Message.MessageStatus getStatus() { return status; } | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @param status the status to set | ||||||
|  | 	 * @since Envoy Server Standalone v0.1-beta | ||||||
|  | 	 */ | ||||||
|  | 	public void setStatus(envoy.data.Message.MessageStatus status) { this.status = status; } | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @return the attachment | ||||||
|  | 	 * @since Envoy Server Standalone v0.1-beta | ||||||
|  | 	 */ | ||||||
|  | 	public byte[] getAttachment() { return attachment; } | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @param attachment the attachment to set | ||||||
|  | 	 * @since Envoy Server Standalone v0.1-beta | ||||||
|  | 	 */ | ||||||
|  | 	public void setAttachment(byte[] attachment) { this.attachment = attachment; } | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @return the forwarded | ||||||
|  | 	 * @since Envoy Server Standalone v0.1-beta | ||||||
|  | 	 */ | ||||||
|  | 	public boolean isForwarded() { return forwarded; } | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * @param forwarded the forwarded to set | ||||||
|  | 	 * @since Envoy Server Standalone v0.1-beta | ||||||
|  | 	 */ | ||||||
|  | 	public void setForwarded(boolean forwarded) { this.forwarded = forwarded; } | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user
	 DieGurke
					DieGurke