Java BeanUtils - Background (DynaBeans)



You can give dynamic property access on the existing JavaBean classes without altering with the help of PropertyUtils class. The dynamically calculated property values as JavaBean can also represented by using dynamic property access without writing a Java class to render these properties. This feature will not only save your time, but also allows dealing with cases where set of properties are specified dynamically.

The DynaBean interface is produced by the BeanUtils package which implements the interface's methods and DynaClass interface by defining set of properties which are supported by the group of DynaBeans. The java.lang.Class provides properties which are supported by JavaBean class instances.

The below simple code snippet shows how to access the DynaBean properties:

DynaBean car = ...; // Details depend on which DynaBean implementation you use
String companyName = (String) car.get("companyName");
Model modelName = (Model) car.get("model");
Object subordinate = car.get("subordinate", 2);

The getter and setter methods of PropertyUtils property can be used to access the properties in DynaBeans. For instance, the PropertyUtils.getSimpleProperty() method is a DynaBean implementation which will convert to suitable DynaBean getter method clearly when you make the call. Therefore dynamic property access of an application is based on the PropertyUtils APIs and can be used to retrieve either JavaBeans or DynaBeans.