private static
Object
getObjectPropertyValue(
Object
source, String name,
Map
cache) {
PropertyUtils.CacheKey methodNameKey
=
new PropertyUtils.CacheKey(source, name);
Method method
=
null;
try
{
method
=
(Method)cache.get(methodNameKey);
if
(method
=
=
null) {
method
=
source.getClass().getMethod(ClickUtils.toGetterName(name));
cache.put(methodNameKey, method);
}
return
method.invoke(source);
} catch (NoSuchMethodException var13) {
try
{
method
=
source.getClass().getMethod(ClickUtils.toIsGetterName(name));
cache.put(methodNameKey, method);
return
method.invoke(source);
} catch (NoSuchMethodException var11) {
String msg;
try
{
method
=
source.getClass().getMethod(name);
cache.put(methodNameKey, method);
return
method.invoke(source);
} catch (NoSuchMethodException var9) {
msg
=
"No matching getter method found for property '"
+
name
+
"' on class "
+
source.getClass().getName();
throw new RuntimeException(msg);
} catch (Exception var10) {
msg
=
"Error getting property '"
+
name
+
"' from "
+
source.getClass();
throw new RuntimeException(msg, var10);
}
} catch (Exception var12) {
String msg
=
"Error getting property '"
+
name
+
"' from "
+
source.getClass();
throw new RuntimeException(msg, var12);
}
} catch (Exception var14) {
String msg
=
"Error getting property '"
+
name
+
"' from "
+
source.getClass();
throw new RuntimeException(msg, var14);
}
}