103 lines
2.2 KiB
Java
103 lines
2.2 KiB
Java
package org.mercury_im.messenger.persistence.room.model;
|
|
|
|
import androidx.room.Entity;
|
|
import androidx.room.ForeignKey;
|
|
import androidx.room.Index;
|
|
import androidx.room.PrimaryKey;
|
|
import androidx.room.TypeConverters;
|
|
|
|
import org.jxmpp.jid.EntityBareJid;
|
|
import org.mercury_im.messenger.persistence.model.MessageModel;
|
|
import org.mercury_im.messenger.persistence.room.type_converter.DateConverter;
|
|
import org.mercury_im.messenger.persistence.room.type_converter.EntityBareJidConverter;
|
|
|
|
import java.util.Date;
|
|
|
|
import static androidx.room.ForeignKey.CASCADE;
|
|
|
|
@Entity(tableName = "messages", foreignKeys = @ForeignKey(entity = RoomAccountModel.class,
|
|
parentColumns = "id", childColumns = "accountId", onDelete = CASCADE),
|
|
indices = {@Index("id")})
|
|
public class RoomMessageModel implements MessageModel {
|
|
|
|
@PrimaryKey(autoGenerate = true)
|
|
private long id;
|
|
|
|
private long accountId;
|
|
|
|
private String body;
|
|
|
|
@TypeConverters(DateConverter.class)
|
|
private Date sendDate;
|
|
|
|
@TypeConverters(EntityBareJidConverter.class)
|
|
private EntityBareJid from;
|
|
|
|
@TypeConverters(EntityBareJidConverter.class)
|
|
private EntityBareJid to;
|
|
|
|
public RoomMessageModel() {
|
|
|
|
}
|
|
|
|
@Override
|
|
public long getId() {
|
|
return id;
|
|
}
|
|
|
|
@Override
|
|
public void setId(long val) {
|
|
this.id = val;
|
|
}
|
|
|
|
@Override
|
|
public long getAccountId() {
|
|
return accountId;
|
|
}
|
|
|
|
@Override
|
|
public void setAccountId(long accountId) {
|
|
this.accountId = accountId;
|
|
}
|
|
|
|
@Override
|
|
public String getBody() {
|
|
return body;
|
|
}
|
|
|
|
@Override
|
|
public void setBody(String body) {
|
|
this.body = body;
|
|
}
|
|
|
|
@Override
|
|
public Date getSendDate() {
|
|
return sendDate;
|
|
}
|
|
|
|
@Override
|
|
public void setSendDate(Date date) {
|
|
this.sendDate = date;
|
|
}
|
|
|
|
@Override
|
|
public EntityBareJid getFrom() {
|
|
return from;
|
|
}
|
|
|
|
@Override
|
|
public void setFrom(EntityBareJid sender) {
|
|
this.from = sender;
|
|
}
|
|
|
|
@Override
|
|
public EntityBareJid getTo() {
|
|
return to;
|
|
}
|
|
|
|
@Override
|
|
public void setTo(EntityBareJid recipient) {
|
|
this.to = recipient;
|
|
}
|
|
}
|