- java.lang.Object
-
- org.eclipse.persistence.sdo.helper.extension.XPathHelper
-
public class XPathHelper extends Object
This singleton provides support for querying DataObjects via xpath expression where the result is a List containing one or more simple types or DataObjects.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
XPathHelper.QueryPart
A QueryPart knows the name of the property to be queried against on a given DataObject, as well as the value to be used in the comparison.
-
Constructor Summary
Constructors Constructor Description XPathHelper()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected List
addResultsToList(Object obj, List results)
Convenience method that will add the provided object to the 'results' list if the object is non-null.List
evaluate(String expression, DataObject dataObject)
Evaluate an XPath expression in the specified context and return a List containing any types or DataObjects that match the search criteria.static XPathHelper
getInstance()
Returns the one and only instance of this singleton.protected String
getPathWithAtRemoved(String expression)
Convenience method that strips off '@' portion, if one exists.protected String
getPathWithPrefixRemoved(String expression)
Convenience method that strips off 'ns0:' portion, if one exists.XPathExpression
prepareExpression(String expression)
Create and return an XPathExpression, using the provided string to create the expression.protected boolean
shouldCallXPathEngine(String expression)
Convenience method for determining if XPathEngine should be called, i.e.
-
-
-
Method Detail
-
getInstance
public static XPathHelper getInstance()
Returns the one and only instance of this singleton.
-
prepareExpression
public XPathExpression prepareExpression(String expression)
Create and return an XPathExpression, using the provided string to create the expression.- Parameters:
expression
-- Returns:
-
evaluate
public List evaluate(String expression, DataObject dataObject)
Evaluate an XPath expression in the specified context and return a List containing any types or DataObjects that match the search criteria.- Parameters:
expression
-dataObject
-- Returns:
- List containing zero or more entries
-
addResultsToList
protected List addResultsToList(Object obj, List results)
Convenience method that will add the provided object to the 'results' list if the object is non-null. If the object represents a list, each non-null entry will be added to the results list.- Parameters:
obj
-results
-- Returns:
-
getPathWithAtRemoved
protected String getPathWithAtRemoved(String expression)
Convenience method that strips off '@' portion, if one exists.- Parameters:
expression
-- Returns:
-
getPathWithPrefixRemoved
protected String getPathWithPrefixRemoved(String expression)
Convenience method that strips off 'ns0:' portion, if one exists.- Parameters:
expression
-- Returns:
-
shouldCallXPathEngine
protected boolean shouldCallXPathEngine(String expression)
Convenience method for determining if XPathEngine should be called, i.e. the XPath expression contains functionality not yet supported.- Parameters:
expression
-- Returns:
-
-