How to get all property names of a Groovy class?
dynamic, groovy, java
Solution
I am using groovy compiler 2.4 I get a `java.util.LinkedHashMap` containing all the properties and their values returned by calling `getProperties()` on a groovy object.
class PropertyDemoClass {
int firstProperty = 1;
String secondProperty = "rhubarb"
String thirdProperty = "custard"
}
PropertyDemoClass demoClass = new PropertyDemoClass()
println demoClass.getProperties().toString()
which results in:
[firstProperty:1, secondProperty:rhubarb, class:class PropertyDemoClass, thirdProperty:custard]
Problem
The title ask it all : How to get all property names of a Groovy class? Is it even possible? I thought I could use collection syntaxes with classes too be it don't seem to work.