package by.istin.android.xcore.source;
import android.content.ContentValues;
import android.provider.BaseColumns;
import by.istin.android.xcore.annotations.dbLong;
import by.istin.android.xcore.annotations.dbString;
import by.istin.android.xcore.utils.HashUtils;
public class DataSourceRequestEntity implements BaseColumns {
@dbLong
public static final String ID = _ID;
@dbLong
public static final String LAST_UPDATE = "last_update";
@dbLong
public static final String EXPIRATION = "expiration";
@dbString
public static final String URI = "uri";
@dbString
public static final String URI_PARAM = "uri_param";
@dbString
public static final String PARENT_URI = "parent_uri";
public static ContentValues prepare(DataSourceRequest dataSourceRequest) {
ContentValues contentValues = new ContentValues();
contentValues.put(ID, generateId(dataSourceRequest));
contentValues.put(LAST_UPDATE, System.currentTimeMillis());
contentValues.put(EXPIRATION, dataSourceRequest.getCacheExpiration());
contentValues.put(URI, dataSourceRequest.getUri());
contentValues.put(URI_PARAM, dataSourceRequest.toUriParams());
contentValues.put(PARENT_URI, dataSourceRequest.getRequestParentUri());
return contentValues;
}
public static long generateId(DataSourceRequest dataSourceRequest) {
return HashUtils.generateId(dataSourceRequest.getUri());
}
}