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 java.util.Locale;
20
21 import org.apache.commons.jxpath.JXPathBeanInfo;
22 import org.apache.commons.jxpath.JXPathIntrospector;
23 import org.apache.commons.jxpath.ri.QName;
24 import org.apache.commons.jxpath.ri.model.NodePointer;
25 import org.apache.commons.jxpath.ri.model.NodePointerFactory;
26
27
28
29
30
31
32
33 public class BeanPointerFactory implements NodePointerFactory {
34
35
36 public static final int BEAN_POINTER_FACTORY_ORDER = 900;
37
38 public int getOrder() {
39 return BEAN_POINTER_FACTORY_ORDER;
40 }
41
42 public NodePointer createNodePointer(QName name, Object bean, Locale locale) {
43 JXPathBeanInfo bi = JXPathIntrospector.getBeanInfo(bean.getClass());
44 return new BeanPointer(name, bean, bi, locale);
45 }
46
47 public NodePointer createNodePointer(NodePointer parent, QName name,
48 Object bean) {
49 if (bean == null) {
50 return new NullPointer(parent, name);
51 }
52
53 JXPathBeanInfo bi = JXPathIntrospector.getBeanInfo(bean.getClass());
54 return new BeanPointer(parent, name, bean, bi);
55 }
56 }