Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. public class BeanMapBuilder {
  2.     public static <T> Builder<T> build(Class<T> clazz) {
  3.         return new Builder<T>(clazz);
  4.     }
  5.     public static class Builder<T> {
  6.         private BeanMap beanMap;
  7.         public Builder(Class<T> clazz)  {
  8.             try {
  9.                 T bean = clazz.getConstructor().newInstance();
  10.                 BeanMap.Generator generator = new BeanMap.Generator();
  11.                 generator.setRequire(BeanMap.REQUIRE_SETTER);
  12.                 generator.setBean(bean);
  13.                 beanMap = generator.create();
  14.             } catch (Exception e) {
  15.                 throw new IllegalArgumentException("Could not create a BeanMap for " + clazz.getCanonicalName());
  16.             }
  17.         }
  18.         public Builder<T> set(String property, Object value) {
  19.             beanMap.put(property, value);
  20.             return this;
  21.         }
  22.        
  23.         @SuppressWarnings("unchecked")
  24.         public T build() {
  25.             return (T) beanMap.getBean();
  26.         }
  27.     }
  28.  
  29. }
  30.