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

108 lines
2.7 KiB
Java

package org.mercury_im.messenger.persistence.room.model;
import androidx.annotation.NonNull;
import androidx.room.ColumnInfo;
import androidx.room.Entity;
import androidx.room.Index;
import androidx.room.PrimaryKey;
import androidx.room.TypeConverters;
import org.jxmpp.jid.EntityBareJid;
import org.mercury_im.messenger.persistence.model.AbstractAccountModel;
import org.mercury_im.messenger.persistence.model.AccountModel;
import org.mercury_im.messenger.persistence.room.type_converter.EntityBareJidConverter;
import static org.mercury_im.messenger.persistence.room.model.RoomAccountModel.KEY_ID;
import static org.mercury_im.messenger.persistence.room.model.RoomAccountModel.TABLE;
@Entity(tableName = TABLE, indices = {@Index(KEY_ID)})
public class RoomAccountModel extends AbstractAccountModel {
public static final String TABLE = "accounts";
public static final String KEY_ID = "pk_account_id";
public static final String KEY_JID = "jid";
public static final String KEY_PASSWORD = "password";
public static final String KEY_ENABLED = "enabled";
public static final String KEY_STATE = "state";
@PrimaryKey(autoGenerate = true)
@ColumnInfo(name = KEY_ID)
public long id;
@TypeConverters(EntityBareJidConverter.class)
@ColumnInfo(name = KEY_JID)
private EntityBareJid jid;
@ColumnInfo(name = KEY_PASSWORD)
private String password;
@ColumnInfo(name = KEY_ENABLED)
private boolean enabled;
@ColumnInfo(name = KEY_STATE)
private String state;
@Override
public long getId() {
return id;
}
@Override
public void setId(long id) {
this.id = id;
}
@Override
public EntityBareJid getJid() {
return jid;
}
@Override
public void setJid(EntityBareJid jid) {
this.jid = jid;
}
@Override
public String getPassword() {
return password;
}
@Override
public void setPassword(String password) {
this.password = password;
}
@Override
public boolean getEnabled() {
return enabled;
}
@Override
public void setEnabled(boolean enabled) {
this.enabled = enabled;
}
@Override
public String getState() {
return state;
}
@Override
public void setState(String state) {
this.state = state;
}
@Override
@NonNull
public String toString() {
return "AccountModel[" +
KEY_ID + ": " + getId() + ", " +
KEY_JID + ": " + (getJid() != null ? getJid().toString() : "null") + ", " +
KEY_PASSWORD + ": " + getPassword() + ", " +
KEY_ENABLED + ": " + getEnabled() + ", " +
KEY_STATE + ": " +getState() +
"]";
}
}