84 lines
1.9 KiB
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;
|
|
}
|
|
}
|