package com.quickblox.q_municate_db.models;
import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable;
import java.io.Serializable;
import static com.quickblox.q_municate_db.models.Social.Column.ID;
import static com.quickblox.q_municate_db.models.Social.Column.TABLE_NAME;
import static com.quickblox.q_municate_db.models.Social.Column.TYPE;
@DatabaseTable(tableName = TABLE_NAME)
public class Social implements Serializable {
@DatabaseField(
id = true,
columnName = ID)
private String socialId;
@DatabaseField(
foreign = true,
foreignAutoRefresh = true,
canBeNull = false,
columnName = User.Column.ID)
private User user;
@DatabaseField(
columnName = TYPE)
private Type type;
public Social() {
}
public Social(String socialId, User user, Type type) {
this.socialId = socialId;
this.user = user;
this.type = type;
}
public String getSocialId() {
return socialId;
}
public void setSocialId(String socialId) {
this.socialId = socialId;
}
public Type getType() {
return type;
}
public void setType(Type type) {
this.type = type;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
@Override
public String toString() {
return "Social [socialId='" + socialId + "', user='" + user + "']";
}
public enum Type {
FACEBOOK(0),
TWITTER(1);
private int code;
Type(int code) {
this.code = code;
}
public static Type parseByCode(int code) {
Type[] valuesArray = Type.values();
Type result = null;
for (Type value : valuesArray) {
if (value.getCode() == code) {
result = value;
break;
}
}
return result;
}
public int getCode() {
return code;
}
}
public interface Column {
String TABLE_NAME = "social";
String ID = "social_id";
String TYPE = "type";
}
}