Class MatcherPath


  • public class MatcherPath
    extends Object
    Holds a snapshot of the current Matcher stack at a certain point during the parsing process. Implemented as a specialized, immutable single-linked list of Element objects with the deepest stack Element in the first position and the root at the end.
    • Constructor Detail

      • MatcherPath

        public MatcherPath​(MatcherPath.Element element,
                           MatcherPath parent)
        Constructs a new MatcherPath wrapping the given elements. Normally you don't construct a MatcherPath directly but rather call Context.getPath() to get one.
        Parameters:
        element - the last element of this path
        parent - the parent path
    • Method Detail

      • length

        public int length()
        Returns:
        the length of this path, i.e. the number of matchers contained in it
      • isPrefixOf

        public boolean isPrefixOf​(MatcherPath that)
        Determines whether this path is a prefix of the given other path.
        Parameters:
        that - the other path
        Returns:
        true if this path is a prefix of the given other path
      • getElementAtLevel

        public MatcherPath.Element getElementAtLevel​(int level)
        Returns the Element at the given level.
        Parameters:
        level - the level to get the element from
        Returns:
        the element
      • commonPrefix

        public MatcherPath commonPrefix​(MatcherPath that)
        Returns the common prefix of this MatcherPath and the given other one.
        Parameters:
        that - the other path
        Returns:
        the common prefix or null
      • contains

        public boolean contains​(Matcher matcher)
        Determines whether the given matcher is contained in this path.
        Parameters:
        matcher - the matcher
        Returns:
        true if contained