{
Class valueClass = null;
if (value != null && !(value instanceof String)) // ignore string class since we may need to do conversions
valueClass = value.getClass ();
Handler handler = decodeEngine.getHandler (ns, tag, ' ', attr, valueClass);
// get the handler first.
// if the handler is not in cache, then we need to find it and then put
// it into the cache.
if (handler == null)
{
String funcName = PREFIX + attr;
handler = FunctionHandler.getHandler (obj, funcName, valueClass);
if (handler == null)
handler = VariableHandler.getHandler (obj, attr, valueClass);
if (handler != null)
decodeEngine.setHandler (ns, tag, ' ', attr, valueClass, handler);
}
//System.out.println ("obj = " + obj.getClass () + ", value = " + value);
if (handler != null)
{
handler.invoke (ns, obj, value, decodeEngine);
return;
}
}
catch (Exception ex)
{