70 lines
2.2 KiB
Java
70 lines
2.2 KiB
Java
package de.vanitasvitae.fasel.db.entity;
|
|
|
|
import com.j256.ormlite.field.DataType;
|
|
import com.j256.ormlite.field.DatabaseField;
|
|
import com.j256.ormlite.table.DatabaseTable;
|
|
import de.vanitasvitae.fasel.db.dao.impl.AccountDaoImpl;
|
|
import lombok.EqualsAndHashCode;
|
|
import lombok.Getter;
|
|
import lombok.Setter;
|
|
|
|
@EqualsAndHashCode
|
|
@DatabaseTable(tableName = "accounts", daoClass = AccountDaoImpl.class)
|
|
public class Account {
|
|
|
|
public static final String ACCOUNT_ID = "accountID";
|
|
public static final String SERVICE_ADDRESS = "serviceAddress";
|
|
public static final String USERNAME = "username";
|
|
public static final String PASSWORD = "password";
|
|
public static final String ENTITY = "entity";
|
|
public static final String ENABLED = "enabled";
|
|
|
|
@Getter
|
|
@DatabaseField(generatedId = true, columnName = ACCOUNT_ID, dataType = DataType.LONG)
|
|
private long accountId;
|
|
|
|
@Getter
|
|
@Setter
|
|
@DatabaseField(canBeNull = false, columnName = SERVICE_ADDRESS, uniqueCombo = true, dataType = DataType.STRING)
|
|
private String serviceAddress;
|
|
|
|
@Getter
|
|
@Setter
|
|
@DatabaseField(canBeNull = false, columnName = USERNAME, uniqueCombo = true, dataType = DataType.STRING)
|
|
private String username;
|
|
|
|
@Getter
|
|
@Setter
|
|
@DatabaseField(columnName = PASSWORD, dataType = DataType.STRING)
|
|
private String password;
|
|
|
|
@Getter
|
|
@Setter
|
|
@DatabaseField(foreign = true, columnName = ENTITY, canBeNull = false, foreignAutoCreate = true, foreignAutoRefresh = true)
|
|
private XmppEntity baseEntity;
|
|
|
|
@Getter
|
|
@Setter
|
|
@DatabaseField(canBeNull = false, columnName = ENABLED, defaultValue = "false", dataType = DataType.BOOLEAN)
|
|
private boolean enabled;
|
|
|
|
/**
|
|
* Empty account for ORMLite.
|
|
*/
|
|
public Account() {
|
|
|
|
}
|
|
|
|
public Account(String username, String service, String password) {
|
|
this.username = username;
|
|
this.serviceAddress = service;
|
|
this.password = password;
|
|
this.baseEntity = new XmppEntity(username + "@" + service);
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return "Account[" + accountId + ", " + serviceAddress + ", " + username + ", " + password + ", " + baseEntity + ", " + enabled + "]";
|
|
}
|
|
}
|