2019-11-18 23:51:27 +01:00
|
|
|
package org.mercury_im.messenger.entity.message;
|
2019-11-08 00:47:17 +01:00
|
|
|
|
2019-11-03 06:33:52 +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;
|
2019-11-03 06:33:52 +01:00
|
|
|
|
2019-11-18 00:04:28 +01:00
|
|
|
public interface Message {
|
2019-11-03 06:33:52 +01:00
|
|
|
|
2019-12-21 16:30:14 +01:00
|
|
|
UUID getId();
|
2019-11-03 06:33:52 +01:00
|
|
|
|
2019-12-21 16:30:14 +01:00
|
|
|
void setId(UUID id);
|
2019-11-03 06:33:52 +01:00
|
|
|
|
2019-11-18 00:04:28 +01:00
|
|
|
String getSender();
|
2019-11-03 06:33:52 +01:00
|
|
|
|
2019-11-18 00:04:28 +01:00
|
|
|
void setSender(String address);
|
2019-11-03 06:33:52 +01:00
|
|
|
|
2019-11-18 00:04:28 +01:00
|
|
|
String getRecipient();
|
2019-11-03 06:33:52 +01:00
|
|
|
|
2019-11-18 00:04:28 +01:00
|
|
|
void setRecipient(String recipient);
|
2019-11-03 06:33:52 +01:00
|
|
|
|
|
|
|
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-11-03 06:33:52 +01:00
|
|
|
|
2019-12-06 20:48:27 +01:00
|
|
|
void setMessagePayloads(List<PayloadContainer> payloadContainers);
|
2019-11-03 06:33:52 +01:00
|
|
|
|
|
|
|
MessageDeliveryState getDeliveryState();
|
|
|
|
|
|
|
|
void setDeliveryState(MessageDeliveryState deliveryState);
|
|
|
|
|
2019-11-18 00:04:28 +01:00
|
|
|
MessageMetadata getMetadata();
|
2019-11-03 06:33:52 +01:00
|
|
|
|
2019-11-18 00:04:28 +01:00
|
|
|
void setMetadata(MessageMetadata metadata);
|
2019-11-03 06:33:52 +01:00
|
|
|
}
|