Class AncestorCharacteristic

java.lang.Object
com.saxonica.ee.trans.Characteristic
com.saxonica.ee.trans.AncestorCharacteristic

public class AncestorCharacteristic extends Characteristic
Given an expression, this characteristic returns a boolean indicating whether or not the context item has a parent (or ancestor, respectively) that matches a given pattern
  • Constructor Details

    • AncestorCharacteristic

      public AncestorCharacteristic(Pattern pattern, boolean isParent)
      Define an AncestorCharacteristic
      Parameters:
      pattern - the pattern that an ancestor/parent must satisfy if the characteristic is to have the value true
      isParent - true if the pattern must match the immediate parent; false if the pattern must match some ancestor
  • Method Details

    • evaluate

      public BooleanValue evaluate(XPathContext context) throws XPathException
      Evaluate the characteristic as applied to the context item
      Specified by:
      evaluate in class Characteristic
      Parameters:
      context - the dynamic evaluation context; the context item is the item being matched
      Returns:
      true if there is an ancestor/parent satisfying the characteristic pattern. (We wrap this in a BooleanValue because the superclass expects Object, and using Boolean causes problems with C# translation.)
      Throws:
      XPathException - if pattern matching fails with a dynamic error
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Test whether this characteristic is the same as another characteristic.
      Overrides:
      equals in class Object
      Parameters:
      obj - the object to be compared
      Returns:
      true if the two characteristics are equivalent
    • toString

      public String toString()
      Overrides:
      toString in class Object