Mercury-IM/domain/src/main/java/org/mercury_im/messenger/core/connection/message/MessageComposer.java

34 lines
1.1 KiB
Java

package org.mercury_im.messenger.core.connection.message;
import org.jivesoftware.smack.packet.id.StandardStanzaIdSource;
import org.mercury_im.messenger.entity.chat.Chat;
import org.mercury_im.messenger.entity.message.Message;
import org.mercury_im.messenger.entity.message.MessageDeliveryState;
import org.mercury_im.messenger.entity.message.MessageDirection;
import java.util.Date;
import java.util.UUID;
public class MessageComposer {
public Message createChatMessage(Chat chat, String body) {
UUID messageId = UUID.randomUUID();
Message message = new Message();
message.setId(messageId);
message.setChatId(chat.getId());
message.setLegacyStanzaId(new StandardStanzaIdSource().getNewStanzaId());
message.setOriginId(messageId.toString());
message.setBody(body);
message.setSender(chat.getAccount().getJid());
message.setRecipient(chat.getJid());
message.setDeliveryState(MessageDeliveryState.pending_delivery);
message.setDirection(MessageDirection.outgoing);
message.setRead(false);
message.setTimestamp(new Date());
return message;
}
}