Skip navigation links

Oracle Fusion Middleware Java API Reference for Oracle TopLink
11g Release 1 (11.1.1)

E28847-01


org.eclipse.persistence.sdo.helper.extension
Class XPathHelper

java.lang.Object
  extended by org.eclipse.persistence.sdo.helper.extension.XPathHelper


public class XPathHelper
extends java.lang.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
 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.

 

Field Summary
(package private) static int AND
           
private static java.lang.String AND_STR
           
(package private) static int EQ
           
private static java.lang.String EQ_STR
           
(package private) static int GT
           
private static java.lang.String GT_STR
           
(package private) static int GTE
           
private static java.lang.String GTE_STR
           
private static XPathHelper instance
           
(package private) static int LT
           
private static java.lang.String LT_STR
           
(package private) static int LTE
           
private static java.lang.String LTE_STR
           
(package private) static int NEQ
           
private static java.lang.String NEQ_STR
           
(package private) static int OR
           
private static java.lang.String OR_STR
           

 

Constructor Summary
XPathHelper()
           

 

Method Summary
protected  java.util.List addResultsToList(java.lang.Object obj, java.util.List results)
          Convenience method that will add the provided object to the 'results' list if the object is non-null.
private  boolean evaluate(boolean b1, boolean b2, int op)
           
 java.util.List evaluate(java.lang.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.
private  java.util.List evaluate(java.lang.String expression, DataObject dataObject, java.util.List results)
          Evaluate an XPath expression in the specified context and populate the provided List with any types or DataObjects that match the search criteria.
static XPathHelper getInstance()
          Returns the one and only instance of this singleton.
private  int getOperandFromString(java.lang.String op)
           
protected  java.lang.String getPathWithAtRemoved(java.lang.String expression)
          Convenience method that strips off '@' portion, if one exists.
protected  java.lang.String getPathWithPrefixRemoved(java.lang.String expression)
          Convenience method that strips off 'ns0:' portion, if one exists.
private  java.lang.String getStringFromOperand(int op)
           
 XPathExpression prepareExpression(java.lang.String expression)
          Create and return an XPathExpression, using the provided string to create the expression.
private  java.lang.Object processBracket(java.lang.String xpFrag, DataObject dataObject, int idx)
          Process a positional or query XPath expression fragment.
private  java.lang.Object processComplexQuery(DataObject dataObject, java.lang.String reference, java.lang.String bracketContents)
          Evaluate the query represented by the XPath Expression fragment against the DataObject.
private  java.lang.Object processFragment(java.lang.String xpFrag, DataObject dataObject)
          Process an XPath expression fragment.
private  java.lang.Object processIndex(java.lang.String xpFrag, DataObject dataObject, int idx, int idxValue)
          Process a positional XPath expression fragment.
private  java.lang.Object processSimpleQuery(DataObject dataObject, java.lang.String reference, java.lang.String query)
          Evaluate the query represented by the XPath Expression fragment against the DataObject.
protected  boolean shouldCallXPathEngine(java.lang.String expression)
          Convenience method for determining if XPathEngine should be called, i.e. the XPath expression contains functionality not yet supported.

 

Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

 

Field Detail

instance

private static XPathHelper instance

GTE

static final int GTE
See Also:
Constant Field Values

LTE

static final int LTE
See Also:
Constant Field Values

GT

static final int GT
See Also:
Constant Field Values

LT

static final int LT
See Also:
Constant Field Values

EQ

static final int EQ
See Also:
Constant Field Values

NEQ

static final int NEQ
See Also:
Constant Field Values

AND

static final int AND
See Also:
Constant Field Values

OR

static final int OR
See Also:
Constant Field Values

GTE_STR

private static final java.lang.String GTE_STR
See Also:
Constant Field Values

LTE_STR

private static final java.lang.String LTE_STR
See Also:
Constant Field Values

GT_STR

private static final java.lang.String GT_STR
See Also:
Constant Field Values

LT_STR

private static final java.lang.String LT_STR
See Also:
Constant Field Values

EQ_STR

private static final java.lang.String EQ_STR
See Also:
Constant Field Values

NEQ_STR

private static final java.lang.String NEQ_STR
See Also:
Constant Field Values

AND_STR

private static final java.lang.String AND_STR
See Also:
Constant Field Values

OR_STR

private static final java.lang.String OR_STR
See Also:
Constant Field Values

Constructor Detail

XPathHelper

public XPathHelper()

Method Detail

getInstance

public static XPathHelper getInstance()
Returns the one and only instance of this singleton.

prepareExpression

public XPathExpression prepareExpression(java.lang.String expression)
Create and return an XPathExpression, using the provided string to create the expression.
Parameters:
expression -
Returns:

evaluate

public java.util.List evaluate(java.lang.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

evaluate

private java.util.List evaluate(java.lang.String expression,
                                DataObject dataObject,
                                java.util.List results)
Evaluate an XPath expression in the specified context and populate the provided List with any types or DataObjects that match the search criteria.
Parameters:
expression -
dataObject -
results -
Returns:

processFragment

private java.lang.Object processFragment(java.lang.String xpFrag,
                                         DataObject dataObject)
Process an XPath expression fragment.
Parameters:
frag -
dataObject -
Returns:

processBracket

private java.lang.Object processBracket(java.lang.String xpFrag,
                                        DataObject dataObject,
                                        int idx)
Process a positional or query XPath expression fragment. This method determines if the brackets represent a query or a positional path, and calls into the appropriate methods accordingly.
Parameters:
xpFrag -
dataObject -
idx -
Returns:

processIndex

private java.lang.Object processIndex(java.lang.String xpFrag,
                                      DataObject dataObject,
                                      int idx,
                                      int idxValue)
Process a positional XPath expression fragment.
Parameters:
xpFrag -
dataObject -
idx -
idxValue -
Returns:

processComplexQuery

private java.lang.Object processComplexQuery(DataObject dataObject,
                                             java.lang.String reference,
                                             java.lang.String bracketContents)
Evaluate the query represented by the XPath Expression fragment against the DataObject. A complex query contains logical operators.
Parameters:
dataObject -
reference -
bracketContents -
Returns:

evaluate

private boolean evaluate(boolean b1,
                         boolean b2,
                         int op)

processSimpleQuery

private java.lang.Object processSimpleQuery(DataObject dataObject,
                                            java.lang.String reference,
                                            java.lang.String query)
Evaluate the query represented by the XPath Expression fragment against the DataObject. A 'simple' query has not logical operators.
Parameters:
dataObject -
reference -
query -
Returns:

addResultsToList

protected java.util.List addResultsToList(java.lang.Object obj,
                                          java.util.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 java.lang.String getPathWithAtRemoved(java.lang.String expression)
Convenience method that strips off '@' portion, if one exists.
Parameters:
qualifiedName -
Returns:

getPathWithPrefixRemoved

protected java.lang.String getPathWithPrefixRemoved(java.lang.String expression)
Convenience method that strips off 'ns0:' portion, if one exists.
Parameters:
qualifiedName -
Returns:

getOperandFromString

private int getOperandFromString(java.lang.String op)

getStringFromOperand

private java.lang.String getStringFromOperand(int op)

shouldCallXPathEngine

protected boolean shouldCallXPathEngine(java.lang.String expression)
Convenience method for determining if XPathEngine should be called, i.e. the XPath expression contains functionality not yet supported.
Parameters:
expression -
Returns:

Skip navigation links

Copyright © 1998, 2012, Oracle. All Rights Reserved.