1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.configuration.tree.xpath;
18
19 import java.util.Locale;
20
21 import org.apache.commons.configuration.tree.ConfigurationNode;
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 * Implementation of the <code>NodePointerFactory</code> interface for
28 * configuration nodes.
29 *
30 * @since 1.3
31 * @author Oliver Heger
32 * @version $Id: ConfigurationNodePointerFactory.java 439648 2006-09-02 20:42:10Z oheger $
33 */
34 public class ConfigurationNodePointerFactory implements NodePointerFactory
35 {
36 /*** Constant for the order of this factory. */
37 public static final int CONFIGURATION_NODE_POINTER_FACTORY_ORDER = 200;
38
39 /***
40 * Returns the order of this factory between other factories.
41 *
42 * @return this order's factory
43 */
44 public int getOrder()
45 {
46 return CONFIGURATION_NODE_POINTER_FACTORY_ORDER;
47 }
48
49 /***
50 * Creates a node pointer for the specified bean. If the bean is a
51 * configuration node, a corresponding pointer is returned.
52 *
53 * @param name the name of the node
54 * @param bean the bean
55 * @param locale the locale
56 * @return a pointer for a configuration node if the bean is such a node
57 */
58 public NodePointer createNodePointer(QName name, Object bean, Locale locale)
59 {
60 if (bean instanceof ConfigurationNode)
61 {
62 return new ConfigurationNodePointer((ConfigurationNode) bean,
63 locale);
64 }
65 return null;
66 }
67
68 /***
69 * Creates a node pointer for the specified bean. If the bean is a
70 * configuration node, a corresponding pointer is returned.
71 *
72 * @param parent the parent node
73 * @param name the name
74 * @param bean the bean
75 * @return a pointer for a configuration node if the bean is such a node
76 */
77 public NodePointer createNodePointer(NodePointer parent, QName name,
78 Object bean)
79 {
80 if (bean instanceof ConfigurationNode)
81 {
82 return new ConfigurationNodePointer(parent,
83 (ConfigurationNode) bean);
84 }
85 return null;
86 }
87 }