in empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/TextInputControl.java [556:590]
protected DataType getValueType(Object value, DataType desiredType)
{
// Detect Data Type from Value
if (value instanceof String)
return DataType.VARCHAR;
if (value instanceof Number)
{ // Check desired type
if (desiredType == DataType.AUTOINC ||
desiredType == DataType.INTEGER ||
desiredType == DataType.FLOAT ||
desiredType == DataType.DECIMAL)
return desiredType;
// Detect type
if (value instanceof Integer || value instanceof Long || value instanceof Short)
return DataType.INTEGER;
if (value instanceof Float || value instanceof Double)
return DataType.FLOAT;
// default
return DataType.DECIMAL;
}
if (value instanceof Date)
{ // Check desired type
if (desiredType == DataType.DATETIME || desiredType == DataType.DATE || desiredType == DataType.TIMESTAMP)
return desiredType;
// Detect type
if (value instanceof Timestamp)
return DataType.DATETIME;
// Just a date
return DataType.DATE;
}
if (value instanceof Boolean)
return DataType.BOOL;
// Default Datatype
return DataType.UNKNOWN;
}