88 lines
2.3 KiB
Java
88 lines
2.3 KiB
Java
package org.mercury_im.messenger.persistence.room.model;
|
|
|
|
import androidx.room.ColumnInfo;
|
|
import androidx.room.Entity;
|
|
import androidx.room.ForeignKey;
|
|
import androidx.room.Index;
|
|
import androidx.room.PrimaryKey;
|
|
|
|
import org.mercury_im.messenger.persistence.model.AvatarModel;
|
|
|
|
import static androidx.room.ForeignKey.RESTRICT;
|
|
import static org.mercury_im.messenger.persistence.room.model.RoomAvatarModel.KEY_ENTITY_ID;
|
|
import static org.mercury_im.messenger.persistence.room.model.RoomAvatarModel.KEY_ID;
|
|
import static org.mercury_im.messenger.persistence.room.model.RoomAvatarModel.TABLE;
|
|
|
|
@Entity(tableName = TABLE,
|
|
indices = {
|
|
@Index(value = KEY_ID),
|
|
@Index(value = KEY_ENTITY_ID, unique = true)
|
|
},
|
|
foreignKeys = {
|
|
@ForeignKey(entity = RoomEntityModel.class,
|
|
parentColumns = RoomEntityModel.KEY_ID,
|
|
childColumns = KEY_ENTITY_ID,
|
|
onDelete = RESTRICT)
|
|
})
|
|
public class RoomAvatarModel implements AvatarModel {
|
|
|
|
public static final String TABLE = "avatars";
|
|
public static final String KEY_ID = "pk_avatar_id";
|
|
public static final String KEY_ENTITY_ID = "fk_entity_id";
|
|
public static final String KEY_SHA1_SUM = "sha1sum";
|
|
public static final String KEY_BYTES = "bytes";
|
|
|
|
@PrimaryKey(autoGenerate = true)
|
|
@ColumnInfo(name = KEY_ID)
|
|
private long avatarId;
|
|
|
|
@ColumnInfo(name = KEY_ENTITY_ID)
|
|
private long entityId;
|
|
|
|
@ColumnInfo(name = KEY_SHA1_SUM)
|
|
private String sha1Sum;
|
|
|
|
@ColumnInfo(name = KEY_BYTES)
|
|
private byte[] bytes;
|
|
|
|
@Override
|
|
public long getAvatarId() {
|
|
return avatarId;
|
|
}
|
|
|
|
@Override
|
|
public void setAvatarId(long id) {
|
|
this.avatarId = id;
|
|
}
|
|
|
|
@Override
|
|
public long entityId() {
|
|
return entityId;
|
|
}
|
|
|
|
@Override
|
|
public void setEntityId(long entityId) {
|
|
this.entityId = entityId;
|
|
}
|
|
|
|
@Override
|
|
public String getSha1Sum() {
|
|
return sha1Sum;
|
|
}
|
|
|
|
@Override
|
|
public void setSha1Sum(String sha1Sum) {
|
|
this.sha1Sum = sha1Sum;
|
|
}
|
|
|
|
@Override
|
|
public byte[] getBytes() {
|
|
return bytes.clone();
|
|
}
|
|
|
|
@Override
|
|
public void setBytes(byte[] bytes) {
|
|
this.bytes = bytes;
|
|
}
|
|
}
|