List of usage examples for org.apache.commons.beanutils DynaClass newInstance
public DynaBean newInstance() throws IllegalAccessException, InstantiationException;
From source file:DynaBeansExampleV1.java
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; }
From source file:com.feilong.core.bean.BeanUtilTemp.java
/** * dyna bean.//from w ww .j a v a 2s . co m * * <h3>:</h3> * * <blockquote> * * <pre class="code"> * * Map{@code <String, Class<?>>} typeMap = new HashMap<>(); * typeMap.put("address", java.util.Map.class); * typeMap.put("firstName", String.class); * typeMap.put("lastName", String.class); * * Map{@code <String, Object>} valueMap = new HashMap<>(); * valueMap.put("address", new HashMap()); * valueMap.put("firstName", "Fred"); * valueMap.put("lastName", "Flintstone"); * * DynaBean dynaBean = BeanUtil.newDynaBean(typeMap, valueMap); * LOGGER.debug(JsonUtil.format(dynaBean)); * * </pre> * * <b>:</b> * * <pre class="code"> * { * "lastName": "Flintstone", * "address": {}, * "firstName": "Fred" * } * </pre> * * </blockquote> * * @param typeMap * ?? map * @param valueMap * ?? map * @return the dyna bean * @throws NullPointerException * <code>typeMap </code> <code>valueMap</code> null * @throws IllegalArgumentException * <code>typeMap.size() != valueMap.size()</code> * @since 1.8.1 change name */ public static DynaBean newDynaBean(Map<String, Class<?>> typeMap, Map<String, Object> valueMap) { Validate.notNull(typeMap, "typeMap can't be null!"); Validate.notNull(valueMap, "valueMap can't be null!"); Validate.isTrue(typeMap.size() == valueMap.size(), "typeMap size:[%s] != valueMap size:[%s]", typeMap.size(), valueMap.size()); //********************************************************************************* try { DynaClass dynaClass = new BasicDynaClass(null, null, toDynaPropertyArray(typeMap)); DynaBean dynaBean = dynaClass.newInstance(); for (Map.Entry<String, Object> entry : valueMap.entrySet()) { dynaBean.set(entry.getKey(), entry.getValue()); } return dynaBean; } catch (IllegalAccessException | InstantiationException e) { LOGGER.error("", e); throw new BeanUtilException(e); } }
From source file:com.xpfriend.fixture.cast.temp.Database.java
private DbResult executeQuery(DbCommand command) throws SQLException { command.printSQL();//from w w w . j av a2 s. com ResultSet resultSet = command.executeQuery(); DynaClass dynaClass = getDynaClass(resultSet); List<DynaBean> list = new ArrayList<DynaBean>(); ColumnValueConverter converter = ColumnValueConverter.getInstance(); DynaProperty[] properties = dynaClass.getDynaProperties(); while (resultSet.next()) { DynaBean bean; try { bean = dynaClass.newInstance(); } catch (Exception e) { throw new ConfigException(e); } for (int i = 0; i < properties.length; i++) { Object value = converter.getResult(resultSet, properties[i].getType(), i + 1); bean.set(properties[i].getName(), value); } list.add(bean); } return new DbResult(dynaClass, list); }
From source file:org.apache.ojb.broker.metadata.PersistentFieldTest.java
public void testDynaBean() throws Exception { checkBoundaryConditions(PersistentFieldDynaBeanImpl.class, false); DynaClass dynaClass = createDynaClass(); DynaBean bean = dynaClass.newInstance(); bean.set("name", "testDynaBean"); PersistentField pf = new PersistentFieldDynaBeanImpl(String.class, "name"); String result = (String) pf.get(bean); assertNotNull(result);/*from w w w. j av a 2 s . c o m*/ assertEquals("testDynaBean", result); pf.set(bean, "XXXX"); result = (String) pf.get(bean); assertNotNull(result); assertEquals("XXXX", result); }
From source file:org.apache.ojb.broker.metadata.PersistentFieldTest.java
public void testAutoProxyWithDyna() throws Exception { DynaClass dynaClass = createDynaClass(); DynaBean bean = dynaClass.newInstance(); bean.set("name", "testDynaBean"); PersistentField pf = new PersistentFieldAutoProxyImpl(String.class, "name"); String result = (String) pf.get(bean); assertNotNull(result);//from w w w. jav a2 s . co m assertEquals("testDynaBean", result); pf.set(bean, "XXXX"); result = (String) pf.get(bean); assertNotNull(result); assertEquals("XXXX", result); }
From source file:org.apache.struts2.s1.DynaBeanPropertyAccessorTest.java
/** * Set up instance variables required by this test case. *///from www . j ava 2 s . c o m public void setUp() throws Exception { // Instantiate a new DynaBean instance DynaClass dynaClass = createDynaClass(); bean = dynaClass.newInstance(); // Initialize the DynaBean's property values (like TestBean) bean.set("booleanProperty", new Boolean(true)); bean.set("booleanSecond", new Boolean(true)); bean.set("doubleProperty", new Double(321.0)); bean.set("floatProperty", new Float((float) 123.0)); int intArray[] = { 0, 10, 20, 30, 40 }; bean.set("intArray", intArray); int intIndexed[] = { 0, 10, 20, 30, 40 }; bean.set("intIndexed", intIndexed); bean.set("intProperty", new Integer(123)); List listIndexed = new ArrayList(); listIndexed.add("String 0"); listIndexed.add("String 1"); listIndexed.add("String 2"); listIndexed.add("String 3"); listIndexed.add("String 4"); bean.set("listIndexed", listIndexed); bean.set("longProperty", new Long((long) 321)); HashMap mappedProperty = new HashMap(); mappedProperty.put("First Key", "First Value"); mappedProperty.put("Second Key", "Second Value"); bean.set("mappedProperty", mappedProperty); HashMap mappedIntProperty = new HashMap(); mappedIntProperty.put("One", new Integer(1)); mappedIntProperty.put("Two", new Integer(2)); bean.set("mappedIntProperty", mappedIntProperty); // Property "nullProperty" is not initialized, so it should return null bean.set("shortProperty", new Short((short) 987)); String stringArray[] = { "String 0", "String 1", "String 2", "String 3", "String 4" }; bean.set("stringArray", stringArray); String stringIndexed[] = { "String 0", "String 1", "String 2", "String 3", "String 4" }; bean.set("stringIndexed", stringIndexed); bean.set("stringProperty", "This is a string"); }
From source file:org.examproject.task.core.ArgumentBeanFactory.java
@Override public Object create() { LOG.debug("called."); try {/*from w ww .ja v a2 s . co m*/ // create a dynaproperty array. DynaProperty[] props = new DynaProperty[3]; // create a dynaproperty object. props[0] = new DynaProperty("count", Integer.class); props[1] = new DynaProperty("job", Closure.class); props[2] = new DynaProperty("state", DynaBean.class); // create a dynaclass object. DynaClass clazz = new BasicDynaClass("argument", BasicDynaBean.class, props); // create a dynabean object. DynaBean bean = clazz.newInstance(); // return the dynabean object. return bean; } catch (Exception e) { LOG.error(e.getMessage()); throw new RuntimeException(e); } }
From source file:org.examproject.task.core.ParamBeanFactory.java
@Override public Object create() { LOG.debug("called."); try {//from w w w .ja va 2 s . co m // create a dynaproperty array. DynaProperty[] props = new DynaProperty[1]; // create a dynaproperty object. props[0] = new DynaProperty("values", Map.class); // create a dynaclass object. DynaClass clazz = new BasicDynaClass("param", BasicDynaBean.class, props); // create a dynabean object. DynaBean bean = clazz.newInstance(); // create the values map. bean.set("values", new ConcurrentHashMap<String, Object>()); // return the dynabean object. return bean; } catch (Exception e) { LOG.error(e.getMessage()); throw new RuntimeException(e); } }
From source file:org.examproject.task.core.ResultBeanFactory.java
@Override public Object create() { LOG.debug("called."); try {/*from ww w . ja v a 2 s .co m*/ // create a dynaproperty array. DynaProperty[] props = new DynaProperty[1]; // create a dynaproperty object. props[0] = new DynaProperty("values", Map.class); // create a dynaclass object. DynaClass clazz = new BasicDynaClass("result", BasicDynaBean.class, props); // create a dynabean object. DynaBean bean = clazz.newInstance(); // create the values map. bean.set("values", new ConcurrentHashMap<String, Object>()); // return the dynabean object. return bean; } catch (Exception e) { LOG.error(e.getMessage()); throw new RuntimeException(e); } }
From source file:org.examproject.task.core.StateBeanFactory.java
@Override public Object create() { LOG.debug("called."); try {//from ww w .ja v a2 s . co m // create a dynaproperty array. DynaProperty[] props = new DynaProperty[2]; // create a dynaproperty object. props[0] = new DynaProperty("param", DynaBean.class); props[1] = new DynaProperty("result", DynaBean.class); // create a dynaclass object. DynaClass clazz = new BasicDynaClass("state", BasicDynaBean.class, props); // create a dynabean object. DynaBean bean = clazz.newInstance(); // return the dynabean object. return bean; } catch (Exception e) { LOG.error(e.getMessage()); throw new RuntimeException(e); } }