Class SmithyPattern.Segment

  • Enclosing class:
    SmithyPattern

    public static final class SmithyPattern.Segment
    extends java.lang.Object
    Segment within a SmithyPattern.
    • Method Detail

      • parse

        public static SmithyPattern.Segment parse​(java.lang.String content,
                                                  int offset)
        Parse a segment from the given offset.
        Parameters:
        content - Content of the segment.
        offset - Character offset where the segment starts in the containing pattern.
        Returns:
        Returns the created segment.
        Throws:
        InvalidPatternException - if the segment is invalid.
      • getContent

        public java.lang.String getContent()
        Get the content of the segment.

        The return value contains the segment in its entirety for non-labels, and the label name for both labels and greedy labels. For example, given a segment of "{label+}", the return value of getContent would be "label".

        Returns:
        Content of the segment.
      • isLiteral

        public boolean isLiteral()
        Returns:
        True if the segment is a non-label literal.
      • isLabel

        public boolean isLabel()
        Returns:
        True if the segment is a label regardless of whether is greedy or not.
      • isNonGreedyLabel

        public boolean isNonGreedyLabel()
        Returns:
        True if the segment is a non-greedy label.
      • isGreedyLabel

        public boolean isGreedyLabel()
        Returns:
        True if the segment is a greedy label.
      • toString

        public java.lang.String toString()
        Get the segment as a literal value to be used in a pattern.

        Unlike the result of getContent(), the return value of toString includes braces for labels and "+" for greedy labels.

        Overrides:
        toString in class java.lang.Object
        Returns:
        The literal segment.
      • equals

        public boolean equals​(java.lang.Object other)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object