public class CollectionPointer extends NodePointer
index, locale, parent, UNKNOWN_NAMESPACE, WHOLE_COLLECTION
Constructor and Description |
---|
CollectionPointer(NodePointer parent,
Object collection)
Create a new CollectionPointer.
|
CollectionPointer(Object collection,
Locale locale)
Create a new CollectionPointer.
|
Modifier and Type | Method and Description |
---|---|
String |
asPath()
Returns an XPath that maps to this Pointer.
|
NodeIterator |
attributeIterator(QName name)
Returns a NodeIterator that iterates over all attributes of the current
node matching the supplied node name (could have a wildcard).
|
NodeIterator |
childIterator(NodeTest test,
boolean reverse,
NodePointer startWith)
Returns a NodeIterator that iterates over all children or all children
that match the given NodeTest, starting with the specified one.
|
int |
compareChildNodePointers(NodePointer pointer1,
NodePointer pointer2)
Compares two child NodePointers and returns a positive number,
zero or a positive number according to the order of the pointers.
|
NodePointer |
createChild(JXPathContext context,
QName name,
int index)
Called by a child pointer when it needs to create a parent object for a
non-existent collection element.
|
NodePointer |
createChild(JXPathContext context,
QName name,
int index,
Object value)
Called by a child pointer if that child needs to assign the value
supplied in the createPath(context, value) call to a non-existent
node.
|
NodePointer |
createPath(JXPathContext context)
Called by a child pointer when it needs to create a parent object.
|
NodePointer |
createPath(JXPathContext context,
Object value)
Called directly by JXPathContext.
|
boolean |
equals(Object object) |
Object |
getBaseValue()
Returns the value represented by the pointer before indexing.
|
Object |
getImmediateNode()
Returns the object the pointer points to; does not convert it
to a "canonical" type.
|
int |
getLength()
If the pointer represents a collection (or collection element),
returns the length of the collection.
|
QName |
getName()
Returns the name of this node.
|
NodePointer |
getValuePointer()
If this pointer manages a transparent container, like a variable,
this method returns the pointer to the contents.
|
int |
hashCode() |
boolean |
isCollection()
Returns
true if the value of the pointer is an array or
a Collection. |
boolean |
isContainer()
If true, this node is auxiliary and can only be used as an intermediate in
the chain of pointers.
|
boolean |
isLeaf()
If true, this node does not have children
|
NodeIterator |
namespaceIterator()
Returns a NodeIterator that iterates over all namespaces of the value
currently pointed at.
|
NodePointer |
namespacePointer(String namespace)
Returns a NodePointer for the specified namespace.
|
void |
setIndex(int index)
Set the index of this NodePointer.
|
void |
setValue(Object value)
Converts the value to the required type and changes the corresponding
object to that value.
|
boolean |
testNode(NodeTest test)
Checks if this Pointer matches the supplied NodeTest.
|
clone, compareTo, createAttribute, escape, getAbstractFactory, getDefaultNamespaceURI, getImmediateParentPointer, getImmediateValuePointer, getIndex, getLocale, getNamespaceResolver, getNamespaceURI, getNamespaceURI, getNode, getNodeSetByKey, getNodeValue, getParent, getPointerByID, getPointerByKey, getRootNode, getValue, handle, handle, isActual, isAttribute, isDefaultNamespace, isLanguage, isNode, isRoot, newChildNodePointer, newNodePointer, printPointerChain, remove, setAttribute, setExceptionHandler, setNamespaceResolver, toString, verify
public CollectionPointer(Object collection, Locale locale)
collection
- valuelocale
- Localepublic CollectionPointer(NodePointer parent, Object collection)
parent
- parent NodePointercollection
- valuepublic QName getName()
NodePointer
getName
in class NodePointer
public Object getBaseValue()
NodePointer
getBaseValue
in class NodePointer
public boolean isCollection()
NodePointer
true
if the value of the pointer is an array or
a Collection.isCollection
in class NodePointer
public int getLength()
NodePointer
getLength
in class NodePointer
public boolean isLeaf()
NodePointer
isLeaf
in class NodePointer
public boolean isContainer()
NodePointer
isContainer
in class NodePointer
public Object getImmediateNode()
NodePointer
getImmediateNode
in class NodePointer
public void setValue(Object value)
NodePointer
setValue
in interface Pointer
setValue
in class NodePointer
value
- the value to setpublic void setIndex(int index)
NodePointer
setIndex
in class NodePointer
index
- intpublic NodePointer getValuePointer()
NodePointer
getValuePointer()
directly. Override the
getImmediateValuePointer()
method instead. The
getValuePointer()
method is calls
getImmediateValuePointer()
and, if the result is not
this
, invokes getValuePointer()
recursively.
The idea here is to open all nested containers. Let's say we have a
container within a container within a container. The
getValuePointer()
method should then open all those
containers and return the pointer to the ultimate contents. It does so
with the above recursion.getValuePointer
in class NodePointer
public NodePointer createPath(JXPathContext context)
NodePointer
createPath
in class NodePointer
context
- the owning JXPathContextpublic NodePointer createPath(JXPathContext context, Object value)
NodePointer
createPath
in class NodePointer
context
- the owning JXPathContextvalue
- the new value to setpublic NodePointer createChild(JXPathContext context, QName name, int index, Object value)
NodePointer
createChild
in class NodePointer
context
- the owning JXPathCOntextname
- the QName at which a child should be createdindex
- child index.value
- node value to setpublic NodePointer createChild(JXPathContext context, QName name, int index)
NodePointer
createChild
in class NodePointer
context
- the owning JXPathCOntextname
- the QName at which a child should be createdindex
- child index.public NodeIterator childIterator(NodeTest test, boolean reverse, NodePointer startWith)
NodePointer
childIterator
in class NodePointer
test
- NodeTest to filter childrenreverse
- specified iteration directionstartWith
- the NodePointer to start withpublic NodeIterator attributeIterator(QName name)
NodePointer
attributeIterator
in class NodePointer
name
- the attribute name to testpublic NodeIterator namespaceIterator()
NodePointer
namespaceIterator
in class NodePointer
public NodePointer namespacePointer(String namespace)
NodePointer
namespacePointer
in class NodePointer
namespace
- incoming namespacenamespace
public boolean testNode(NodeTest test)
NodePointer
testNode
in class NodePointer
test
- the NodeTest to executepublic int compareChildNodePointers(NodePointer pointer1, NodePointer pointer2)
NodePointer
compareChildNodePointers
in class NodePointer
pointer1
- first pointer to be comparedpointer2
- second pointer to be comparedpublic String asPath()
NodePointer
asPath
in interface Pointer
asPath
in class NodePointer
Copyright © 2001–2015 The Apache Software Foundation. All rights reserved.