this.textBuffer = null; // clear buffer
if (input.length() == 0)
return;
if (this.currentWidget instanceof MultiValueField && isMultiValueItem) {
MultiValueField field = (MultiValueField) this.currentWidget;
Datatype type = field.getDatatype();
ConversionResult conv = type.convertFromString(input, this.locale);
if (!conv.isSuccessful()) {
throw new SAXException("Could not convert: " + input +
" to " + type.getTypeClass());
}
Object[] values = (Object[]) field.getValue();
int valLen = values == null ? 0 : values.length;
Object[] newValues = new Object[valLen + 1];
for (int i = 0; i < valLen; i++) {
newValues[i] = values[i];
}
newValues[valLen] = conv.getResult();
field.setValues(newValues);
} else if (this.currentWidget instanceof DataWidget) {
DataWidget data = (DataWidget) this.currentWidget;
Datatype type = data.getDatatype();
ConversionResult conv = type.convertFromString(input, this.locale);
if (!conv.isSuccessful()) {