KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
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", "getAttr3") if necessary. I don't know much about Java's introspection: how do you do that in Java? Right now, I have a specialized toMap() implementation for each object type that I care about, and it's too much boilerplate. NOTE : for those who know Python, I want something like obj.__dict__ . Or dict((attr, obj.__getattribute__(attr)) for attr in attr_list) for the subset variant.
Tags (comma-separated)
Save Edits
Cancel