package com.evancharlton.mileage.dao;
import com.evancharlton.mileage.R;
import com.evancharlton.mileage.dao.Dao.DataObject;
import com.evancharlton.mileage.provider.tables.CacheTable;
import android.content.ContentValues;
import android.database.Cursor;
@DataObject(path = CacheTable.URI)
public class CachedValue extends Dao {
public static final String ITEM = "item";
public static final String KEY = "key";
public static final String VALUE = "value";
public static final String VALID = "is_valid";
public static final String GROUP = "statistics_group";
public static final String ORDER = "statistics_order";
@Validate(R.string.error_invalid_statistic_item)
@Column(type = Column.STRING, name = ITEM)
protected String mItem;
@Validate(R.string.error_invalid_statistic_key)
@Column(type = Column.STRING, name = KEY)
protected String mKey;
@Validate
@Column(type = Column.DOUBLE, name = VALUE)
protected double mValue;
@Validate
@Column(type = Column.BOOLEAN, name = VALID)
protected boolean mIsValid;
@Validate
@Column(type = Column.LONG, name = GROUP, value = 0)
protected long mGroup;
@Validate
@Column(type = Column.LONG, name = ORDER, value = 0)
protected long mOrder;
public CachedValue(String key) {
this(new ContentValues());
mKey = key;
}
public CachedValue(ContentValues values) {
super(values);
mItem = getString(values, ITEM, null);
mKey = getString(values, KEY, null);
mValue = getDouble(values, VALUE, 0D);
mIsValid = getBoolean(values, VALID, false);
mGroup = getLong(values, GROUP, 0);
mOrder = getLong(values, ORDER, 0);
}
public CachedValue(Cursor cursor) {
super(cursor);
}
public String getKey() {
return mKey;
}
public double getValue() {
return mValue;
}
public void setValue(double value) {
mValue = value;
}
public long getGroup() {
return mGroup;
}
public void setGroup(long group) {
mGroup = group;
}
public long getOrder() {
return mOrder;
}
public void setOrder(long order) {
mOrder = order;
}
}