Mercury-IM/persistence-room/src/main/java/org/mercury_im/messenger/persistence/room/model/RoomRosterEntryModel.java

84 lines
1.9 KiB
Java

package org.mercury_im.messenger.persistence.room.model;
import androidx.room.Entity;
import androidx.room.ForeignKey;
import androidx.room.PrimaryKey;
import androidx.room.TypeConverters;
import org.jxmpp.jid.EntityBareJid;
import org.mercury_im.messenger.persistence.model.RosterEntryModel;
import org.mercury_im.messenger.persistence.room.type_converter.EntityBareJidConverter;
import static androidx.room.ForeignKey.CASCADE;
@Entity(tableName = "roster", foreignKeys = @ForeignKey(entity = RoomAccountModel.class,
parentColumns = "id",
childColumns = "accountId",
onDelete = CASCADE))
public class RoomRosterEntryModel implements RosterEntryModel {
@PrimaryKey(autoGenerate = true)
public long id;
private long accountId;
@TypeConverters(EntityBareJidConverter.class)
private EntityBareJid jid;
private String rosterName;
private String nickname;
public RoomRosterEntryModel(EntityBareJid jid, String rosterName, String nickname) {
this.jid = jid;
this.nickname = nickname;
this.rosterName = rosterName;
}
@Override
public long getId() {
return id;
}
@Override
public void setId(long id) {
this.id = id;
}
@Override
public EntityBareJid getJid() {
return jid;
}
@Override
public String getRosterName() {
return rosterName;
}
@Override
public void setRosterName(String rosterName) {
this.rosterName = rosterName;
}
@Override
public String getNickname() {
return nickname;
}
@Override
public void setNickname(String nickname) {
this.nickname = nickname;
}
@Override
public long getAccountId() {
return accountId;
}
@Override
public void setAccountId(long accountId) {
this.accountId = accountId;
}
}