package com.jdroid.android.log;
import android.content.ContentValues;
import android.database.Cursor;
import com.jdroid.android.sqlite.Column;
import com.jdroid.android.sqlite.DataType;
import com.jdroid.android.sqlite.Reference;
public enum DatabaseLogsColumns implements Column {
ID(Column.ID, DataType.LONG, Column.PRIMARY_KEY_AUTOINCREMENT, Boolean.FALSE, Boolean.TRUE),
MESSAGE("message", DataType.TEXT, null, Boolean.FALSE, Boolean.FALSE),
DATE_TIME("dateTime", DataType.DATE_MILLISECONDS, null, Boolean.FALSE, Boolean.FALSE);
private String columnName;
private DataType dataType;
private String extraQualifier;
private Boolean optional;
private Boolean unique;
DatabaseLogsColumns(String columnName, DataType dataType, String extraQualifier, Boolean optional,
Boolean unique) {
this.columnName = columnName;
this.dataType = dataType;
this.extraQualifier = extraQualifier;
this.optional = optional;
this.unique = unique;
}
/**
* @see Column#addValue(ContentValues, Object)
*/
@Override
public <T> void addValue(ContentValues values, T value) {
dataType.writeValue(values, columnName, value);
}
/**
* @see Column#readValue(Cursor)
*/
@SuppressWarnings("unchecked")
@Override
public <E> E readValue(Cursor cursor) {
return (E)dataType.readValue(cursor, columnName);
}
/**
* @see Column#getDataType()
*/
@Override
public DataType getDataType() {
return dataType;
}
/**
* @see Column#getColumnName()
*/
@Override
public String getColumnName() {
return columnName;
}
/**
* @see Column#getExtraQualifier()
*/
@Override
public String getExtraQualifier() {
return extraQualifier;
}
/**
* @see Column#isOptional()
*/
@Override
public Boolean isOptional() {
return optional;
}
/**
* @see Column#isUnique()
*/
@Override
public Boolean isUnique() {
return unique;
}
/**
* @see Column#getReference()
*/
@Override
public Reference getReference() {
return null;
}
}