RosettaCodeData/Task/Reflection-List-properties/Groovy/reflection-list-properties.groovy

25 lines
673 B
Groovy
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
import java.lang.reflect.Field
@SuppressWarnings("unused")
class ListProperties {
public int examplePublicField = 42
private boolean examplePrivateField = true
static void main(String[] args) {
ListProperties obj = new ListProperties()
Class clazz = obj.class
println "All public fields (including inherited):"
(clazz.fields).each { Field f ->
printf "%s\t%s\n", f, f.get(obj)
}
println()
println "All declared fields (excluding inherited):"
clazz.getDeclaredFields().each { Field f ->
f.accessible = true
printf "%s\t%s\n", f, f.get(obj)
}
}
}