Java introspection: object to map
I have a Java object obj that has attributes obj.attr1 , obj.attr2 etc. The attributes are possibly accessed through an extra level of indirection: obj.getAttr1() , obj.getAttr2() , if not public. The challenge : I want a function that takes an object, and returns a Map<String, Object> , where the keys are strings "attr1" , "attr2" etc. and values are the corresponding objects obj.attr1 , obj.attr2 . I imagine the function would be invoked with something like toMap(obj) , or toMap(obj, "attr1", "attr3") (where attr1 and attr3 are a subset of obj 's attributes), or perhaps toMap(obj, "getAttr1"