Mercury-IM/persistence-room/src/main/java/org/mercury_im/messenger/persistence/room/model/RoomXmppIdentityModel.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;
}
}