69 lines
1.7 KiB
Java
69 lines
1.7 KiB
Java
package org.mercury_im.messenger.persistence.room.model;
|
|
|
|
import android.graphics.Bitmap;
|
|
|
|
import androidx.annotation.NonNull;
|
|
import androidx.room.Entity;
|
|
import androidx.room.ForeignKey;
|
|
import androidx.room.Index;
|
|
import androidx.room.TypeConverters;
|
|
|
|
import org.jxmpp.jid.EntityBareJid;
|
|
import org.mercury_im.messenger.persistence.model.XmppIdentityModel;
|
|
import org.mercury_im.messenger.persistence.room.type_converter.EntityBareJidConverter;
|
|
import org.mercury_im.messenger.persistence.room.type_converter.FileConverter;
|
|
|
|
import java.io.File;
|
|
|
|
import static androidx.room.ForeignKey.CASCADE;
|
|
|
|
@Entity(tableName = "entities", primaryKeys = {"accountId", "jid"},
|
|
indices = {@Index(value = {"accountId", "jid"}, unique = true)},
|
|
foreignKeys = @ForeignKey(entity = RoomAccountModel.class,
|
|
parentColumns = "id",
|
|
childColumns = "accountId",
|
|
onDelete = CASCADE))
|
|
public class RoomXmppIdentityModel implements XmppIdentityModel {
|
|
|
|
protected long accountId;
|
|
|
|
@NonNull
|
|
@TypeConverters(EntityBareJidConverter.class)
|
|
protected EntityBareJid jid;
|
|
|
|
@TypeConverters(FileConverter.class)
|
|
protected File avatarFile;
|
|
|
|
@NonNull
|
|
@Override
|
|
public EntityBareJid getJid() {
|
|
return jid;
|
|
}
|
|
|
|
@Override
|
|
public void setJid(EntityBareJid jid) {
|
|
this.jid = jid;
|
|
}
|
|
|
|
@Override
|
|
public long getAccountId() {
|
|
return accountId;
|
|
}
|
|
|
|
@Override
|
|
public void setAccountId(long accountId) {
|
|
this.accountId = accountId;
|
|
}
|
|
|
|
@Override
|
|
public File getAvatarFile() {
|
|
return avatarFile;
|
|
}
|
|
|
|
@Override
|
|
public void setAvatarFile(File file) {
|
|
this.avatarFile = file;
|
|
}
|
|
|
|
}
|