Class ConfigurationNodePointerFactory
java.lang.Object
org.apache.commons.configuration2.tree.xpath.ConfigurationNodePointerFactory
- All Implemented Interfaces:
org.apache.commons.jxpath.ri.model.NodePointerFactory
public class ConfigurationNodePointerFactory
extends Object
implements org.apache.commons.jxpath.ri.model.NodePointerFactory
Implements the NodePointerFactory
interface for configuration nodes.
This class is able to create NodePointer
s for the nodes of hierarchical configurations. Because there is no
common base class for configuration nodes (any specific configuration implementation can use its own node class) a
trick is needed for activating this factory for a concrete JXPath query: The wrapNode()
method has to be
called with the node object and its corresponding NodeHandler
. This creates a wrapper object containing all
information required by the factory for processing a query. Then this wrapper object has to be passed to the query
methods of the JXPath context.
- Since:
- 1.3
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
Constant for the order of this factory. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionorg.apache.commons.jxpath.ri.model.NodePointer
createNodePointer
(org.apache.commons.jxpath.ri.model.NodePointer parent, org.apache.commons.jxpath.ri.QName name, Object bean) Creates a node pointer for the specified bean.org.apache.commons.jxpath.ri.model.NodePointer
createNodePointer
(org.apache.commons.jxpath.ri.QName name, Object bean, Locale locale) Creates a node pointer for the specified bean.int
getOrder()
Gets the order of this factory between other factories.static <T> Object
wrapNode
(T node, NodeHandler<T> handler) Creates a node wrapper for the specified node and its handler.
-
Field Details
-
CONFIGURATION_NODE_POINTER_FACTORY_ORDER
Constant for the order of this factory.- See Also:
-
-
Constructor Details
-
ConfigurationNodePointerFactory
public ConfigurationNodePointerFactory()
-
-
Method Details
-
wrapNode
Creates a node wrapper for the specified node and its handler. This wrapper has to be passed to the JXPath context instead of the original node.- Type Parameters:
T
- the type of the node- Parameters:
node
- the nodehandler
- the corresponding node handler- Returns:
- a wrapper for this node
-
createNodePointer
public org.apache.commons.jxpath.ri.model.NodePointer createNodePointer(org.apache.commons.jxpath.ri.model.NodePointer parent, org.apache.commons.jxpath.ri.QName name, Object bean) Creates a node pointer for the specified bean. If the bean is a configuration node, a corresponding pointer is returned.- Specified by:
createNodePointer
in interfaceorg.apache.commons.jxpath.ri.model.NodePointerFactory
- Parameters:
parent
- the parent nodename
- the namebean
- the bean- Returns:
- a pointer for a configuration node if the bean is such a node
-
createNodePointer
public org.apache.commons.jxpath.ri.model.NodePointer createNodePointer(org.apache.commons.jxpath.ri.QName name, Object bean, Locale locale) Creates a node pointer for the specified bean. If the bean is a configuration node (indicated by a wrapper object), a corresponding pointer is returned.- Specified by:
createNodePointer
in interfaceorg.apache.commons.jxpath.ri.model.NodePointerFactory
- Parameters:
name
- the name of the nodebean
- the beanlocale
- the locale- Returns:
- a pointer for a configuration node if the bean is such a node
-
getOrder
Gets the order of this factory between other factories.- Specified by:
getOrder
in interfaceorg.apache.commons.jxpath.ri.model.NodePointerFactory
- Returns:
- this order's factory
-