Package org.apache.commons.jxpath.ri
Class JXPathCompiledExpression
- java.lang.Object
-
- org.apache.commons.jxpath.ri.JXPathCompiledExpression
-
- All Implemented Interfaces:
CompiledExpression
public class JXPathCompiledExpression extends java.lang.Object implements CompiledExpression
RI of CompiledExpression.- Version:
- $Revision: 652845 $ $Date: 2008-05-02 12:46:46 -0500 (Fri, 02 May 2008) $
- Author:
- Dmitri Plotnikov
-
-
Field Summary
Fields Modifier and Type Field Description private Expression
expression
private java.lang.String
xpath
-
Constructor Summary
Constructors Constructor Description JXPathCompiledExpression(java.lang.String xpath, Expression expression)
Create a new JXPathCompiledExpression.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Pointer
createPath(JXPathContext context)
Creates intermediate elements of the path by invoking anAbstractFactory
, which should first be installed on the context by callingJXPathContext.setFactory(org.apache.commons.jxpath.AbstractFactory)
.Pointer
createPathAndSetValue(JXPathContext context, java.lang.Object value)
The same as setValue, except it creates intermediate elements of the path by invoking anAbstractFactory
, which should first be installed on the context by callingJXPathContext.setFactory(org.apache.commons.jxpath.AbstractFactory)
.protected Expression
getExpression()
Get the compiled expression.Pointer
getPointer(JXPathContext context, java.lang.String xpath)
Traverses the xpath and returns a Pointer.java.lang.Object
getValue(JXPathContext context)
Evaluates the xpath and returns the resulting object.java.lang.Object
getValue(JXPathContext context, java.lang.Class requiredType)
Evaluates the xpath, converts the result to the specified class and returns the resulting object.protected java.lang.String
getXPath()
Get the source expression.java.util.Iterator
iterate(JXPathContext context)
Traverses the xpath and returns a Iterator of all results found for the path.java.util.Iterator
iteratePointers(JXPathContext context)
Traverses the xpath and returns an Iterator of Pointers.void
removeAll(JXPathContext context)
Remove all graph elements described by this expression.void
removePath(JXPathContext context)
Remove the graph element described by this expression.void
setValue(JXPathContext context, java.lang.Object value)
Modifies the value of the property described by the supplied xpath.java.lang.String
toString()
-
-
-
Field Detail
-
xpath
private java.lang.String xpath
-
expression
private Expression expression
-
-
Constructor Detail
-
JXPathCompiledExpression
public JXPathCompiledExpression(java.lang.String xpath, Expression expression)
Create a new JXPathCompiledExpression.- Parameters:
xpath
- sourceexpression
- compiled
-
-
Method Detail
-
getXPath
protected java.lang.String getXPath()
Get the source expression.- Returns:
- String
-
getExpression
protected Expression getExpression()
Get the compiled expression.- Returns:
- Expression
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
getValue
public java.lang.Object getValue(JXPathContext context)
Description copied from interface:CompiledExpression
Evaluates the xpath and returns the resulting object. Primitive types are wrapped into objects.- Specified by:
getValue
in interfaceCompiledExpression
- Parameters:
context
- to evaluate- Returns:
- Object
-
getValue
public java.lang.Object getValue(JXPathContext context, java.lang.Class requiredType)
Description copied from interface:CompiledExpression
Evaluates the xpath, converts the result to the specified class and returns the resulting object.- Specified by:
getValue
in interfaceCompiledExpression
- Parameters:
context
- to evaluaterequiredType
- return type- Returns:
- Object
-
setValue
public void setValue(JXPathContext context, java.lang.Object value)
Description copied from interface:CompiledExpression
Modifies the value of the property described by the supplied xpath. Will throw an exception if one of the following conditions occurs:- The xpath does not in fact describe an existing property
- The property is not writable (no public, non-static set method)
- Specified by:
setValue
in interfaceCompiledExpression
- Parameters:
context
- basevalue
- to set
-
createPath
public Pointer createPath(JXPathContext context)
Description copied from interface:CompiledExpression
Creates intermediate elements of the path by invoking anAbstractFactory
, which should first be installed on the context by callingJXPathContext.setFactory(org.apache.commons.jxpath.AbstractFactory)
.- Specified by:
createPath
in interfaceCompiledExpression
- Parameters:
context
- base- Returns:
- Pointer created
-
createPathAndSetValue
public Pointer createPathAndSetValue(JXPathContext context, java.lang.Object value)
Description copied from interface:CompiledExpression
The same as setValue, except it creates intermediate elements of the path by invoking anAbstractFactory
, which should first be installed on the context by callingJXPathContext.setFactory(org.apache.commons.jxpath.AbstractFactory)
.Will throw an exception if one of the following conditions occurs:
- Elements of the xpath aleady exist, by the path does not in fact describe an existing property
- The AbstractFactory fails to create an instance for an intermediate element.
- The property is not writable (no public, non-static set method)
- Specified by:
createPathAndSetValue
in interfaceCompiledExpression
- Parameters:
context
- basevalue
- to set- Returns:
- Pointer created
-
iterate
public java.util.Iterator iterate(JXPathContext context)
Description copied from interface:CompiledExpression
Traverses the xpath and returns a Iterator of all results found for the path. If the xpath matches no properties in the graph, the Iterator will not be null.- Specified by:
iterate
in interfaceCompiledExpression
- Parameters:
context
- base- Returns:
- Iterator
-
getPointer
public Pointer getPointer(JXPathContext context, java.lang.String xpath)
Description copied from interface:CompiledExpression
Traverses the xpath and returns a Pointer. A Pointer provides easy access to a property. If the xpath matches no properties in the graph, the pointer will be null.- Specified by:
getPointer
in interfaceCompiledExpression
- Parameters:
context
- basexpath
- string- Returns:
- Pointer found
-
iteratePointers
public java.util.Iterator iteratePointers(JXPathContext context)
Description copied from interface:CompiledExpression
Traverses the xpath and returns an Iterator of Pointers. A Pointer provides easy access to a property. If the xpath matches no properties in the graph, the Iterator be empty, but not null.- Specified by:
iteratePointers
in interfaceCompiledExpression
- Parameters:
context
- to iterate- Returns:
- Iterator
-
removePath
public void removePath(JXPathContext context)
Description copied from interface:CompiledExpression
Remove the graph element described by this expression.- Specified by:
removePath
in interfaceCompiledExpression
- Parameters:
context
- base
-
removeAll
public void removeAll(JXPathContext context)
Description copied from interface:CompiledExpression
Remove all graph elements described by this expression.- Specified by:
removeAll
in interfaceCompiledExpression
- Parameters:
context
- base
-
-