in src/main/java/org/apache/sling/scripting/sightly/render/ObjectModel.java [396:423]
public static Object getField(Object object, String fieldName) {
if (object == null || StringUtils.isEmpty(fieldName)) {
return null;
}
Class<?> cls;
// special handing for enum object
if (object instanceof Class && ((Class<?>)object).isEnum()) {
cls = (Class<?>)object;
} else {
cls = object.getClass();
}
if (cls.isArray() && "length".equals(fieldName)) {
return Array.getLength(object);
}
for (Field field : cls.getFields()){
if (field.getName().equals(fieldName)){
try {
return field.get(object);
}
catch (IllegalAccessException e) {
return null;
}
}
}
return null;
}