Mercury-IM/entity/src/main/java/org/mercury_im/messenger/entity/message/Message.java

45 lines
901 B
Java
Raw Normal View History

2019-11-18 23:51:27 +01:00
package org.mercury_im.messenger.entity.message;
2019-11-08 00:47:17 +01:00
import java.util.Date;
2019-11-08 00:47:17 +01:00
import java.util.List;
2019-12-21 16:30:14 +01:00
import java.util.UUID;
public interface Message {
2019-12-21 16:30:14 +01:00
UUID getId();
2019-12-21 16:30:14 +01:00
void setId(UUID id);
String getSender();
void setSender(String address);
String getRecipient();
void setRecipient(String recipient);
Date getTimestamp();
void setTimestamp(Date timestamp);
2019-12-21 05:34:19 +01:00
MessageDirection getDirection();
void setDirection(MessageDirection direction);
default boolean isIncoming() {
return getDirection() == MessageDirection.incoming;
}
2019-12-06 20:48:27 +01:00
List<PayloadContainer> getMessagePayloads();
2019-12-06 20:48:27 +01:00
void setMessagePayloads(List<PayloadContainer> payloadContainers);
MessageDeliveryState getDeliveryState();
void setDeliveryState(MessageDeliveryState deliveryState);
MessageMetadata getMetadata();
void setMetadata(MessageMetadata metadata);
}