/**
*
*/
package org.commcare.android.models;
/**
* @author ctsims
*
*/
public class Entity<T> {
T t;
Object[] data;
String[] sortData;
boolean[] relevancyData;
String[] backgroundData;
protected Entity(T t) {
this.t = t;
}
public Entity(Object[] data, String[] sortData, String[] backgroundData, boolean[] relevancyData, T t) {
this.t = t;
this.sortData = sortData;
this.backgroundData = backgroundData;
this.data = data;
this.relevancyData = relevancyData;
}
public Object getField(int i) {
return data[i];
}
/*
* Same as getField, but guaranteed to return a string.
* If field is not already a string, will return blank string.
*/
public String getFieldString(int i) {
Object field = getField(i);
if (field instanceof String) {
return (String) field;
}
return "";
}
/**
* @param i index of field
* @return True iff the given field is relevant and has a non-blank value.
*/
public boolean isValidField(int i) {
return !getField(i).equals("") && relevancyData[i];
}
public String getSortField(int i) {
return sortData[i];
}
public T getElement() {
return t;
}
public int getNumFields() {
return data.length;
}
public Object[] getData(){
return data;
}
public String [] getBackgroundData(){
return backgroundData;
}
}