1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.commons.jxpath.ri.model.beans;
17
18 import java.util.Locale;
19
20 import org.apache.commons.jxpath.JXPathBeanInfo;
21 import org.apache.commons.jxpath.JXPathIntrospector;
22 import org.apache.commons.jxpath.ri.QName;
23 import org.apache.commons.jxpath.ri.model.NodePointer;
24 import org.apache.commons.jxpath.ri.model.NodePointerFactory;
25
26 /***
27 * Implements NodePointerFactory for JavaBeans.
28 *
29 * @author Dmitri Plotnikov
30 * @version $Revision: 1.7 $ $Date: 2004/02/29 14:17:41 $
31 */
32 public class BeanPointerFactory implements NodePointerFactory {
33
34 public static final int BEAN_POINTER_FACTORY_ORDER = 900;
35
36 public int getOrder() {
37 return BEAN_POINTER_FACTORY_ORDER;
38 }
39
40 public NodePointer createNodePointer(
41 QName name,
42 Object bean,
43 Locale locale)
44 {
45 JXPathBeanInfo bi = JXPathIntrospector.getBeanInfo(bean.getClass());
46 return new BeanPointer(name, bean, bi, locale);
47 }
48
49 public NodePointer createNodePointer(
50 NodePointer parent,
51 QName name,
52 Object bean)
53 {
54 if (bean == null) {
55 return new NullPointer(parent, name);
56 }
57
58 JXPathBeanInfo bi = JXPathIntrospector.getBeanInfo(bean.getClass());
59 return new BeanPointer(parent, name, bean, bi);
60 }
61 }