1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.jxpath.ri.model.beans;
18
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 import org.apache.commons.jxpath.TestBean;
24
25
26
27
28
29
30
31 public class TestBeanFactory extends AbstractFactory {
32
33
34
35
36 public boolean createObject(
37 JXPathContext context,
38 Pointer pointer,
39 Object parent,
40 String name,
41 int index)
42 {
43 if (name.equals("nestedBean")) {
44 ((TestBean) parent).setNestedBean(new NestedTestBean("newName"));
45 return true;
46 }
47 else if (name.equals("beans")) {
48 TestBean bean = (TestBean) parent;
49 if (bean.getBeans() == null || index >= bean.getBeans().length) {
50 bean.setBeans(new NestedTestBean[index + 1]);
51 }
52 bean.getBeans()[index] = new NestedTestBean("newName");
53 return true;
54 }
55 else if (name.equals("integers")) {
56
57 ((TestBean) parent).setIntegers(index, 0);
58 return true;
59 }
60 return false;
61 }
62
63
64
65
66 public boolean declareVariable(JXPathContext context, String name) {
67 return false;
68 }
69 }