|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.commons.jxpath.ri.model.NodePointer org.apache.commons.jxpath.ri.model.beans.CollectionPointer
Transparent pointer to a collection (array or Collection).
Field Summary | |
private java.lang.Object |
collection
|
private NodePointer |
valuePointer
|
Fields inherited from class org.apache.commons.jxpath.ri.model.NodePointer |
index, locale, parent, UNKNOWN_NAMESPACE, WHOLE_COLLECTION |
Constructor Summary | |
CollectionPointer(NodePointer parent,
java.lang.Object collection)
|
|
CollectionPointer(java.lang.Object collection,
java.util.Locale locale)
|
Method Summary | |
java.lang.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,
java.lang.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,
java.lang.Object value)
Called directly by JXPathContext. |
boolean |
equals(java.lang.Object object)
|
java.lang.Object |
getBaseValue()
Returns the value represented by the pointer before indexing. |
java.lang.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 axiliary 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(java.lang.String namespace)
Returns a NodePointer for the specified namespace. |
void |
setIndex(int index)
|
void |
setValue(java.lang.Object value)
Converts the value to the required type and changes the corresponding object to that value. |
boolean |
testNode(NodeTest nodeTest)
Checks if this Pointer matches the supplied NodeTest. |
Methods inherited from class org.apache.commons.jxpath.ri.model.NodePointer |
clone, compareTo, createAttribute, getDefaultNamespaceURI, getImmediateParentPointer, getImmediateValuePointer, getIndex, getLocale, getNamespaceResolver, getNamespaceURI, getNamespaceURI, getNode, getNodeValue, getParent, getPointerByID, getPointerByKey, getRootNode, getValue, isActual, isAttribute, isDefaultNamespace, isLanguage, isNode, isRoot, newChildNodePointer, newNodePointer, printPointerChain, remove, setAttribute, setNamespaceResolver, toString |
Methods inherited from class java.lang.Object |
finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
private java.lang.Object collection
private NodePointer valuePointer
Constructor Detail |
public CollectionPointer(java.lang.Object collection, java.util.Locale locale)
public CollectionPointer(NodePointer parent, java.lang.Object collection)
Method Detail |
public QName getName()
NodePointer
getName
in class NodePointer
public java.lang.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 java.lang.Object getImmediateNode()
NodePointer
getImmediateNode
in class NodePointer
public void setValue(java.lang.Object value)
NodePointer
setValue
in interface Pointer
setValue
in class NodePointer
public void setIndex(int index)
setIndex
in class NodePointer
public 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
public NodePointer createPath(JXPathContext context, java.lang.Object value)
NodePointer
createPath
in class NodePointer
public NodePointer createChild(JXPathContext context, QName name, int index, java.lang.Object value)
NodePointer
createChild
in class NodePointer
public NodePointer createChild(JXPathContext context, QName name, int index)
NodePointer
createChild
in class NodePointer
public int hashCode()
public boolean equals(java.lang.Object object)
public NodeIterator childIterator(NodeTest test, boolean reverse, NodePointer startWith)
NodePointer
childIterator
in class NodePointer
public NodeIterator attributeIterator(QName name)
NodePointer
attributeIterator
in class NodePointer
public NodeIterator namespaceIterator()
NodePointer
namespaceIterator
in class NodePointer
public NodePointer namespacePointer(java.lang.String namespace)
NodePointer
namespacePointer
in class NodePointer
public boolean testNode(NodeTest nodeTest)
NodePointer
testNode
in class NodePointer
public int compareChildNodePointers(NodePointer pointer1, NodePointer pointer2)
NodePointer
compareChildNodePointers
in class NodePointer
public java.lang.String asPath()
asPath
in interface Pointer
asPath
in class NodePointer
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |