52 lines
1.4 KiB
Java
52 lines
1.4 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.ContactDaoImpl;
|
|
import lombok.EqualsAndHashCode;
|
|
import lombok.Getter;
|
|
import lombok.Setter;
|
|
|
|
@EqualsAndHashCode
|
|
@DatabaseTable(tableName = "contacts", daoClass = ContactDaoImpl.class)
|
|
public class Contact {
|
|
|
|
public static final String CONTACT_ID = "contactID";
|
|
public static final String ACCOUNT = "account";
|
|
public static final String ENTITY = "entity";
|
|
public static final String NICKNAME = "nickname";
|
|
|
|
@Getter
|
|
@DatabaseField(generatedId = true, columnName = CONTACT_ID, dataType = DataType.LONG)
|
|
private long contactID;
|
|
|
|
@Getter
|
|
@Setter
|
|
@DatabaseField(foreign = true, columnName = ACCOUNT)
|
|
private Account account;
|
|
|
|
@Getter
|
|
@Setter
|
|
@DatabaseField(foreign = true, columnName = ENTITY, foreignAutoRefresh = true, foreignAutoCreate = true)
|
|
private XmppEntity entity;
|
|
|
|
@Getter
|
|
@Setter
|
|
@DatabaseField(dataType = DataType.STRING, columnName = NICKNAME)
|
|
private String nickname;
|
|
|
|
public Contact() {
|
|
|
|
}
|
|
|
|
public Contact(String jid, String nickname) {
|
|
this.entity = new XmppEntity(jid);
|
|
this.nickname = nickname;
|
|
}
|
|
|
|
public String toString() {
|
|
return "Contact[" + contactID + ", " + account + ", " + entity + ", " + nickname + "]";
|
|
}
|
|
}
|