value = CatalogKey.getFromKey(catalog_db, json_value, catalog_class);
} catch (Throwable ex) {
throw new Exception("Failed to get catalog object from \"" + json_value + "\"", ex);
}
if (value == null)
throw new JSONException("Failed to get catalog object from \"" + json_value + "\"");
}
// Class
else if (field_class.equals(Class.class)) {
value = ClassUtil.getClass(json_value);
if (value == null)
throw new JSONException("Failed to get class from '" + json_value + "'");
}
// Enum
else if (field_class.isEnum()) {
if (field_class.equals(VoltType.class)) {
json_value = json_value.replace("VoltType.", "");
}
for (Object o : field_class.getEnumConstants()) {
Enum<?> e = (Enum<?>) o;
if (json_value.equals(e.name()))
return (e);
} // FOR
throw new JSONException("Invalid enum value '" + json_value + "': " + Arrays.toString(field_class.getEnumConstants()));
}
// Boolean
else if (field_class.equals(Boolean.class) || field_class.equals(boolean.class)) {
// We have to use field_class.equals() because the value may be null
value = Boolean.parseBoolean(json_value);