Fasel/fasel-jfx/src/main/java/de/vanitasvitae/fasel/db/entity/Contact.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 + "]";
}
}