Class Pattern

  • Direct Known Subclasses:
    IDPattern, KeyPattern, LocationPathPattern, NodeTest, UnionPattern

    public abstract class Pattern
    extends java.lang.Object
    A Pattern represents the result of parsing an XSLT pattern string.
    Patterns are created by calling the static method Pattern.make(string).
    The pattern is used to test a particular node by calling match().
    • Constructor Summary

      Constructors 
      Constructor Description
      Pattern()  
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      double getDefaultPriority()
      Determine the default priority to use if this pattern appears as a match pattern for a template with no explicit priority attribute.
      int getFingerprint()
      Determine the name fingerprint of nodes to which this pattern applies.
      int getLineNumber()
      Get the line number on which the pattern was defined
      short getNodeType()
      Determine the types of nodes to which this pattern applies.
      StaticContext getStaticContext()
      Determine the static context used when the pattern was parsed
      java.lang.String getSystemId()
      Get the system id of the entity in which the pattern occurred
      static Pattern make​(java.lang.String pattern, StaticContext env)
      Static method to make a Pattern by parsing a String.
      abstract boolean matches​(NodeInfo node, Context context)
      Determine whether this Pattern matches the given Node
      void setOriginalText​(java.lang.String text)
      Set the original text of the pattern for use in diagnostics
      void setStaticContext​(StaticContext sc)
      Set the static context used when the pattern was parsed
      Pattern simplify()
      Simplify the pattern by applying any context-independent optimisations.
      java.lang.String toString()
      Get the original pattern text
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • originalText

        protected java.lang.String originalText
    • Constructor Detail

      • Pattern

        public Pattern()
    • Method Detail

      • make

        public static Pattern make​(java.lang.String pattern,
                                   StaticContext env)
                            throws XPathException
        Static method to make a Pattern by parsing a String.
        Parameters:
        pattern - The pattern text as a String
        env - An object defining the compile-time context for the expression
        Returns:
        The pattern object
        Throws:
        XPathException
      • setOriginalText

        public void setOriginalText​(java.lang.String text)
        Set the original text of the pattern for use in diagnostics
      • simplify

        public Pattern simplify()
                         throws XPathException
        Simplify the pattern by applying any context-independent optimisations. Default implementation does nothing.
        Returns:
        the optimised Pattern
        Throws:
        XPathException
      • setStaticContext

        public final void setStaticContext​(StaticContext sc)
        Set the static context used when the pattern was parsed
      • getStaticContext

        public StaticContext getStaticContext()
        Determine the static context used when the pattern was parsed
      • matches

        public abstract boolean matches​(NodeInfo node,
                                        Context context)
                                 throws XPathException
        Determine whether this Pattern matches the given Node
        Parameters:
        node - The NodeInfo representing the Element or other node to be tested against the Pattern
        context - The context in which the match is to take place. Only relevant if the pattern uses variables.
        Returns:
        true if the node matches the Pattern, false otherwise
        Throws:
        XPathException
      • getNodeType

        public short getNodeType()
        Determine the types of nodes to which this pattern applies. Used for optimisation. For patterns that match nodes of several types, return NodeInfo.NODE
        Returns:
        the type of node matched by this pattern. e.g. NodeInfo.ELEMENT or NodeInfo.TEXT
      • getFingerprint

        public int getFingerprint()
        Determine the name fingerprint of nodes to which this pattern applies. Used for optimisation.
        Returns:
        A fingerprint that the nodes must match, or null Otherwise return null.
      • getDefaultPriority

        public double getDefaultPriority()
        Determine the default priority to use if this pattern appears as a match pattern for a template with no explicit priority attribute.
      • getSystemId

        public java.lang.String getSystemId()
        Get the system id of the entity in which the pattern occurred
      • getLineNumber

        public int getLineNumber()
        Get the line number on which the pattern was defined
      • toString

        public java.lang.String toString()
        Get the original pattern text
        Overrides:
        toString in class java.lang.Object