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 + "]"; } }