|
|||||||||||
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 org.apache.commons.jxpath.ri.model.beans.NullElementPointer
Used when there is a need to construct a Pointer for a collection element that does not exist. For example, if the path is "foo[3]", but the collection "foo" only has one element or is empty or is null, the NullElementPointer can be used to capture this situation without putting a regular NodePointer into an invalid state. Just create a NullElementPointer with index 2 (= 3 - 1) and a "foo" pointer as the parent.
Field Summary |
Fields inherited from class org.apache.commons.jxpath.ri.model.beans.CollectionPointer |
|
Fields inherited from class org.apache.commons.jxpath.ri.model.NodePointer |
index, locale, parent, UNKNOWN_NAMESPACE, WHOLE_COLLECTION |
Constructor Summary | |
NullElementPointer(NodePointer parent,
int index)
|
Method Summary | |
java.lang.String |
asPath()
Returns an XPath that maps to this Pointer. |
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. |
PropertyPointer |
getPropertyPointer()
|
NodePointer |
getValuePointer()
If this pointer manages a transparent container, like a variable, this method returns the pointer to the contents. |
int |
hashCode()
|
boolean |
isActual()
An actual pointer points to an existing part of an object graph, even if it is null. |
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 |
void |
setValue(java.lang.Object value)
Converts the value to the required type and changes the corresponding object to that value. |
Methods inherited from class org.apache.commons.jxpath.ri.model.beans.CollectionPointer |
attributeIterator, childIterator, compareChildNodePointers, createChild, createChild, namespaceIterator, namespacePointer, setIndex, testNode |
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, 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 |
Constructor Detail |
public NullElementPointer(NodePointer parent, int index)
Method Detail |
public QName getName()
NodePointer
getName
in class CollectionPointer
public java.lang.Object getBaseValue()
NodePointer
getBaseValue
in class CollectionPointer
public java.lang.Object getImmediateNode()
NodePointer
getImmediateNode
in class CollectionPointer
public boolean isLeaf()
NodePointer
isLeaf
in class CollectionPointer
public boolean isCollection()
NodePointer
true
if the value of the pointer is an array or
a Collection.
isCollection
in class CollectionPointer
public PropertyPointer getPropertyPointer()
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 CollectionPointer
public void setValue(java.lang.Object value)
NodePointer
setValue
in interface Pointer
setValue
in class CollectionPointer
public boolean isActual()
NodePointer
isActual
in class NodePointer
public boolean isContainer()
NodePointer
isContainer
in class CollectionPointer
public NodePointer createPath(JXPathContext context)
NodePointer
createPath
in class CollectionPointer
public NodePointer createPath(JXPathContext context, java.lang.Object value)
NodePointer
createPath
in class CollectionPointer
public int hashCode()
hashCode
in class CollectionPointer
public boolean equals(java.lang.Object object)
equals
in class CollectionPointer
public int getLength()
NodePointer
getLength
in class CollectionPointer
public java.lang.String asPath()
CollectionPointer
asPath
in interface Pointer
asPath
in class CollectionPointer
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |