in empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/TextInputControl.java [394:445]
protected String formatValue(Object value, ValueInfo vi)
{
// Lookup and return text
Options options = vi.getOptions();
if (options != null && !hasFormatOption(vi, "nolookup"))
{ // getOptionText
String text = getOptionText(options, value, vi);
if (text!=null)
return text;
}
// Check Value
if (value == null)
{ // Try to use default value
Object nullValue = getFormatOption(vi, InputControl.FORMAT_NULL, InputControl.FORMAT_NULL_ATTRIBUTE);
if (nullValue != null)
return formatValue(nullValue, vi);
// Empty String
return "";
}
// Format Value
Column column = vi.getColumn();
DataType dataType = getValueType(value, (column != null) ? column.getDataType() : DataType.UNKNOWN);
if (dataType.isText() || dataType == DataType.UNKNOWN)
{ // String
return String.valueOf(value);
}
if (dataType == DataType.INTEGER || dataType == DataType.AUTOINC)
{ // Integer
NumberFormat nf = NumberFormat.getIntegerInstance(vi.getLocale());
nf.setGroupingUsed(false);
return nf.format(value);
}
if (dataType == DataType.DECIMAL || dataType == DataType.FLOAT)
{ // Dezimal oder Double
NumberFormat nf = getNumberFormat(dataType, vi, column);
return nf.format(value);
}
if (dataType == DataType.DATE || dataType == DataType.DATETIME || dataType == DataType.TIMESTAMP)
{ // Date or DateTime
if (dataType!= DataType.DATE && hasFormatOption(vi, "notime"))
dataType = DataType.DATE;
// Now format the date according to the user's locale
DateFormat df = getDateFormat(dataType, vi, column);
return df.format(value);
}
/*
* if (dataType == DBDataType.BOOL) {
* }
*/
// Convert to String
return String.valueOf(value);
}