Class 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

      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 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.
      java.util.List evaluate​(java.lang.String expression, commonj.sdo.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 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.
      XPathExpression prepareExpression​(java.lang.String expression)
      Create and return an XPathExpression, using the provided string to create the expression.
      protected boolean shouldCallXPathEngine​(java.lang.String expression)
      Convenience method for determining if XPathEngine should be called, i.e.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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,
                                       commonj.sdo.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 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:
        expression -
        Returns:
      • getPathWithPrefixRemoved

        protected java.lang.String getPathWithPrefixRemoved​(java.lang.String expression)
        Convenience method that strips off 'ns0:' portion, if one exists.
        Parameters:
        expression -
        Returns:
      • 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: