String localName,
String qName)
{
if ((_currentText != null) && !"".equals(_currentText))
{
PropertyKey key = _bean.getType().findKey(localName);
if (key == null)
{
if (_LOG.isWarning())
_LOG.warning("Element {0} is not understood", qName);
}
else
{
if (_currentText.startsWith("#{") &&
_currentText.endsWith("}"))
{
if (!key.getSupportsBinding())
{
if (_LOG.isWarning())
_LOG.warning("Element {0} does not support EL expressions.",
qName);
}
else
{
ValueBinding binding =
LazyValueBinding.createValueBinding(_currentText);
_bean.setValueBinding(key, binding);
}
}
else
{
Object value;
if (key.getType() == Character.class)
{
value = _currentText.charAt(0);
}
else if (key.getType() == Integer.class)
{
value = _getIntegerValue(_currentText, qName);
}
else if (key.getType() == Boolean.class)
{
value = ("true".equalsIgnoreCase(_currentText)
? Boolean.TRUE : Boolean.FALSE);
}
else if (key.getType() == TimeZone.class)
{
value = TimeZone.getTimeZone(_currentText);
}
else if (key.getType() == Locale.class)
{
value = LocaleUtils.getLocaleForIANAString(_currentText);
}
else
{