Exposes Java bean properties of an object via the {@link Map}interface. A call to {@link Map#get(Object)} invokes the getter forthe corresponding property, and a call to {@link Map#put(Object,Object)} invokes the property's setter.
Properties may provide multiple setters; the appropriate setter to invoke is determined by the type of the value being set. If the value is null, the return type of the getter method is used.
Getter methods must be named "getProperty" where "property" is the property name. If there is no "get" method, then an "isProperty" method can also be used. Setter methods (if present) must be named "setProperty".
Getter and setter methods are checked before straight fields named "property" in order to support proper data encapsulation. And only public
and non-static
methods and fields can be accessed.