Class NodeTest

java.lang.Object
org.loboevolution.apache.xpath.Expression
org.loboevolution.apache.xpath.patterns.NodeTest
All Implemented Interfaces:
SourceLocator, ExpressionNode, XPathVisitable
Direct Known Subclasses:
PredicatedNodeTest, StepPattern

public class NodeTest extends Expression
This is the basic node test class for both match patterns and location path steps.
  • Field Details

  • Constructor Details

    • NodeTest

      public NodeTest(int whatToShow, String namespace, String name)
      Construct an NodeTest that tests for namespaces and node names.
      Parameters:
      whatToShow - Bit set defined mainly by NodeFilter.
      namespace - The namespace to be tested.
      name - The local name to be tested.
    • NodeTest

      public NodeTest(int whatToShow)
      Construct an NodeTest that doesn't test for node names.
      Parameters:
      whatToShow - Bit set defined mainly by NodeFilter.
    • NodeTest

      public NodeTest()
      Null argument constructor.
  • Method Details

    • getWhatToShow

      public int getWhatToShow()
      This attribute determines which node types are accepted. These constants are defined in the NodeFilter interface.
      Returns:
      bitset mainly defined in NodeFilter.
    • setWhatToShow

      public void setWhatToShow(int what)
      This attribute determines which node types are accepted. These constants are defined in the NodeFilter interface.
      Parameters:
      what - bitset mainly defined in NodeFilter.
    • getNamespace

      public String getNamespace()
      Return the namespace to be tested.
      Returns:
      The namespace to be tested for, or WILD, or null.
    • setNamespace

      public void setNamespace(String ns)
      Set the namespace to be tested.
      Parameters:
      ns - The namespace to be tested for, or WILD, or null.
    • getLocalName

      public String getLocalName()
      Return the local name to be tested.
      Returns:
      the local name to be tested, or WILD, or an empty string.
    • setLocalName

      public void setLocalName(String name)
      Set the local name to be tested.
      Parameters:
      name - the local name to be tested, or WILD, or an empty string.
    • deepEquals

      public boolean deepEquals(Expression expr)
      Compare this object with another object and see if they are equal, include the sub heararchy.
      Specified by:
      deepEquals in class Expression
      Parameters:
      expr - Another expression object.
      Returns:
      true if this objects class and the expr object's class are the same, and the data contained within both objects are considered equal.
    • initNodeTest

      public void initNodeTest(int whatToShow)
      Initialize this node test by setting the whatToShow property, and calculating the score that this test will return if a test succeeds.
      Parameters:
      whatToShow - Bit set defined mainly by NodeFilter.
    • initNodeTest

      public void initNodeTest(int whatToShow, String namespace, String name)
      Initialize this node test by setting the whatToShow property and the namespace and local name, and calculating the score that this test will return if a test succeeds.
      Parameters:
      whatToShow - Bit set defined mainly by NodeFilter.
      namespace - The namespace to be tested.
      name - The local name to be tested.
    • getStaticScore

      public XNumber getStaticScore()
      Get the static score for this node test.
      Returns:
      Should be one of the SCORE_XXX constants.
    • setStaticScore

      public void setStaticScore(XNumber score)
      Set the static score for this node test.
      Parameters:
      score - Should be one of the SCORE_XXX constants.
    • calcScore

      protected void calcScore()
      Static calc of match score.
    • getNodeTypeTest

      public static int getNodeTypeTest(int whatToShow)
      Tell what node type to test, if not DTMFilter.SHOW_ALL.
      Parameters:
      whatToShow - Bit set defined mainly by DTMFilter.
      Returns:
      the node type for the whatToShow. Since whatToShow can specify multiple types, it will return the first bit tested that is on, so the caller of this function should take care that this is the function they really want to call. If none of the known bits are set, this function will return zero.
    • execute

      public XObject execute(XPathContext xctxt, int context) throws TransformerException
      Execute an expression in the XPath runtime context, and return the result of the expression.
      Overrides:
      execute in class Expression
      Parameters:
      xctxt - The XPath runtime context.
      context - The currentNode.
      Returns:
      The result of the expression in the form of a XObject.
      Throws:
      TransformerException - if a runtime exception occurs.
    • execute

      public XObject execute(XPathContext xctxt, int context, DTM dtm, int expType) throws TransformerException
      Execute an expression in the XPath runtime context, and return the result of the expression.
      Overrides:
      execute in class Expression
      Parameters:
      xctxt - The XPath runtime context.
      context - The currentNode.
      dtm - The DTM of the current node.
      expType - The expanded type ID of the current node.
      Returns:
      The result of the expression in the form of a XObject.
      Throws:
      TransformerException - if a runtime exception occurs.
    • execute

      public XObject execute(XPathContext xctxt) throws TransformerException
      Execute an expression in the XPath runtime context, and return the result of the expression.
      Specified by:
      execute in class Expression
      Parameters:
      xctxt - The XPath runtime context.
      Returns:
      The result of the expression in the form of a XObject.
      Throws:
      TransformerException - if a runtime exception occurs.
    • callVisitors

      public void callVisitors(XPathVisitor visitor)
      This will traverse the hierarchy, calling the visitor for each member. If the called visitor method returns false, the subtree should not be called.
      Parameters:
      visitor - The visitor whose appropriate method will be called.