package org.mercury_im.messenger.entity.message; import java.util.Date; import java.util.List; import java.util.UUID; public class IMessage implements Message { protected UUID id; protected String sender; protected String recipient; protected Date timestamp; protected List payloads; protected MessageDeliveryState deliveryState; protected MessageMetadata metadata; protected MessageDirection direction; public IMessage() { this(UUID.randomUUID()); } public IMessage(UUID id) { this.id = id; } @Override public UUID getId() { return id; } @Override public void setId(UUID id) { this.id = id; } @Override public String getSender() { return sender; } @Override public void setSender(String address) { this.sender = address; } @Override public String getRecipient() { return recipient; } @Override public void setRecipient(String recipient) { this.recipient = recipient; } @Override public Date getTimestamp() { return timestamp; } @Override public void setTimestamp(Date timestamp) { this.timestamp = timestamp; } @Override public MessageDirection getDirection() { return direction; } @Override public void setDirection(MessageDirection direction) { this.direction = direction; } @Override public List getMessagePayloads() { return payloads; } @Override public void setMessagePayloads(List list) { this.payloads = list; } @Override public MessageDeliveryState getDeliveryState() { return deliveryState; } @Override public void setDeliveryState(MessageDeliveryState deliveryState) { this.deliveryState = deliveryState; } @Override public MessageMetadata getMetadata() { return metadata; } @Override public void setMetadata(MessageMetadata metadata) { this.metadata = metadata; } }