Java tutorial
import org.apache.commons.beanutils.DynaBean; import org.apache.commons.beanutils.DynaClass; import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.LazyDynaBean; import org.apache.commons.beanutils.DynaProperty; import org.apache.commons.beanutils.BasicDynaClass; import java.util.Map; import java.util.List; import java.util.Date; import java.util.HashMap; import java.util.GregorianCalendar; public class DynaBeansExampleV1 { public static void main(String args[]) throws Exception { Object movie = createMovieBean(); System.err.println(BeanUtils.getProperty(movie, "title")); System.err.println(BeanUtils.getProperty(movie, "director.name")); } private static Object createMovieBean() throws Exception { // first create the properties DynaProperty properties[] = new DynaProperty[] { new DynaProperty("title", String.class), new DynaProperty("dateOfRelease", Date.class), new DynaProperty("keywords", String[].class), new DynaProperty("genre", Map.class), new DynaProperty("actors", List.class), new DynaProperty("director", DynaBean.class) }; // next using the properties define the class DynaClass movieClass = new BasicDynaClass("movie", null, properties); // now, with the class, create a new instance DynaBean movieBean = movieClass.newInstance(); // set its properties movieBean.set("title", "The Italian Job"); movieBean.set("dateOfRelease", new GregorianCalendar(1969, 0, 1).getTime()); movieBean.set("keywords", new String[] { "Italy", "Bank Robbery" }); Map genre = new HashMap(); genre.put("THR", "Thriller"); movieBean.set("genre", genre); movieBean.set("genre", "ACT", "Action"); DynaBean director = createPersonBean(); director.set("name", "Peter Collinson"); director.set("gender", new Integer(1)); movieBean.set("director", director); return movieBean; } private static DynaBean createPersonBean() { DynaBean person = new LazyDynaBean(); return person; } }