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 NodePointers 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
FieldsModifier and TypeFieldDescriptionstatic final intConstant for the order of this factory. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.commons.jxpath.ri.model.NodePointercreateNodePointer(org.apache.commons.jxpath.ri.model.NodePointer parent, org.apache.commons.jxpath.ri.QName qName, Object bean) Creates a node pointer for the specified bean.org.apache.commons.jxpath.ri.model.NodePointercreateNodePointer(org.apache.commons.jxpath.ri.QName qName, Object bean, Locale locale) Creates a node pointer for the specified bean.intgetOrder()Gets the order of this factory between other factories.static <T> ObjectwrapNode(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 qName, Object bean) Creates a node pointer for the specified bean. If the bean is a configuration node, a corresponding pointer is returned.- Specified by:
createNodePointerin interfaceorg.apache.commons.jxpath.ri.model.NodePointerFactory- Parameters:
parent- the parent nodeqName- 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 qName, 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:
createNodePointerin interfaceorg.apache.commons.jxpath.ri.model.NodePointerFactory- Parameters:
qName- 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:
getOrderin interfaceorg.apache.commons.jxpath.ri.model.NodePointerFactory- Returns:
- this order's factory
-