1 16 package org.apache.commons.jxpath.ri.model.dynabeans; 17 18 import org.apache.commons.beanutils.DynaBean; 19 import org.apache.commons.jxpath.AbstractFactory; 20 import org.apache.commons.jxpath.JXPathContext; 21 import org.apache.commons.jxpath.NestedTestBean; 22 import org.apache.commons.jxpath.Pointer; 23 24 30 public class TestDynaBeanFactory extends AbstractFactory { 31 32 34 public boolean createObject( 35 JXPathContext context, 36 Pointer pointer, 37 Object parent, 38 String name, 39 int index) 40 { 41 if (name.equals("nestedBean")) { 42 ((DynaBean) parent).set( 43 "nestedBean", 44 new NestedTestBean("newName")); 45 return true; 46 } 47 else if (name.equals("beans")) { 48 DynaBean bean = (DynaBean) parent; 49 Object beans[] = (Object []) bean.get("beans"); 50 if (beans == null || index >= beans.length) { 51 beans = new NestedTestBean[index + 1]; 52 bean.set("beans", beans); 53 } 54 beans[index] = new NestedTestBean("newName"); 55 return true; 56 } 57 else if (name.equals("integers")) { 58 DynaBean bean = (DynaBean) parent; 59 bean.set("integers", index, new Integer (0)); 60 return true; 61 } 62 return false; 63 } 64 65 67 public boolean declareVariable(JXPathContext context, String name) { 68 context.getVariables().declareVariable(name, null); 69 return true; 70 } 71 } 72 | Popular Tags |