org.apache.commons.jxpath.util
Class BasicTypeConverter.ValuePointer

java.lang.Object
  extended by org.apache.commons.jxpath.util.BasicTypeConverter.ValuePointer
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Comparable, Pointer
Enclosing class:
BasicTypeConverter

static final class BasicTypeConverter.ValuePointer
extends java.lang.Object
implements Pointer

Value pointer


Field Summary
private  java.lang.Object bean
           
private static long serialVersionUID
           
 
Constructor Summary
BasicTypeConverter.ValuePointer(java.lang.Object object)
          Create a new ValuePointer.
 
Method Summary
 java.lang.String asPath()
          Returns a string that is a proper "canonical" XPath that corresponds to this pointer.
 java.lang.Object clone()
          Pointers are cloneable.
 int compareTo(java.lang.Object object)
           
 java.lang.Object getNode()
          Returns the raw value of the object, property or collection element this pointer represents.
 java.lang.Object getRootNode()
          Returns the node this pointer is based on.
 java.lang.Object getValue()
          Returns the value of the object, property or collection element this pointer represents.
 void setValue(java.lang.Object value)
          Modifies the value of the object, property or collection element this pointer represents.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

bean

private java.lang.Object bean
Constructor Detail

BasicTypeConverter.ValuePointer

public BasicTypeConverter.ValuePointer(java.lang.Object object)
Create a new ValuePointer.

Parameters:
object - value
Method Detail

getValue

public java.lang.Object getValue()
Description copied from interface: Pointer
Returns the value of the object, property or collection element this pointer represents. May convert the value to one of the canonical InfoSet types: String, Number, Boolean, Set. For example, in the case of an XML element, getValue() will return the text contained by the element rather than the element itself.

Specified by:
getValue in interface Pointer
Returns:
Object value

getNode

public java.lang.Object getNode()
Description copied from interface: Pointer
Returns the raw value of the object, property or collection element this pointer represents. Never converts the object to a canonical type: returns it as is. For example, for an XML element, getNode() will return the element itself rather than the text it contains.

Specified by:
getNode in interface Pointer
Returns:
Object node

getRootNode

public java.lang.Object getRootNode()
Description copied from interface: Pointer
Returns the node this pointer is based on.

Specified by:
getRootNode in interface Pointer
Returns:
Object

setValue

public void setValue(java.lang.Object value)
Description copied from interface: Pointer
Modifies the value of the object, property or collection element this pointer represents.

Specified by:
setValue in interface Pointer
Parameters:
value - value to set

clone

public java.lang.Object clone()
Description copied from interface: Pointer
Pointers are cloneable.

Specified by:
clone in interface Pointer
Overrides:
clone in class java.lang.Object
Returns:
cloned Object

compareTo

public int compareTo(java.lang.Object object)
Specified by:
compareTo in interface java.lang.Comparable

asPath

public java.lang.String asPath()
Description copied from interface: Pointer
Returns a string that is a proper "canonical" XPath that corresponds to this pointer. Consider this example:

Pointer ptr = ctx.getPointer("//employees[firstName = 'John']")

The value of ptr.asPath() will look something like "/departments[2]/employees[3]", so, basically, it represents the concrete location(s) of the result of a search performed by JXPath. If an object in the pointer's path is a Dynamic Property object (like a Map), the asPath method generates an XPath that looks like this: " /departments[@name = 'HR']/employees[3]".

Specified by:
asPath in interface Pointer
Returns:
String path