Interface NumberParseMatcher

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Interface Description
      static interface  NumberParseMatcher.Flexible
      Matchers can implement the Flexible interface to indicate that they are optional and can be run repeatedly.
    • Method Detail

      • match

        boolean match​(StringSegment segment,
                      ParsedNumber result)
        Runs this matcher starting at the beginning of the given StringSegment. If this matcher finds something interesting in the StringSegment, it should update the offset of the StringSegment corresponding to how many chars were matched.
        Parameters:
        segment - The StringSegment to match against. Matches always start at the beginning of the segment. The segment is guaranteed to contain at least one char.
        result - The data structure to store results if the match succeeds.
        Returns:
        Whether this matcher thinks there may be more interesting chars beyond the end of the string segment.
      • smokeTest

        boolean smokeTest​(StringSegment segment)
        Performs a fast "smoke check" for whether or not this matcher could possibly match against the given string segment. The test should be as fast as possible but also as restrictive as possible. For example, matchers can maintain a UnicodeSet of all code points that count possibly start a match. Matchers should use the StringSegment.startsWith(int) method in order to correctly handle case folding.
        Parameters:
        segment - The segment to check against.
        Returns:
        true if the matcher might be able to match against this segment; false if it definitely will not be able to match.
      • postProcess

        void postProcess​(ParsedNumber result)
        Method called at the end of a parse, after all matchers have failed to consume any more chars. Allows a matcher to make final modifications to the result given the knowledge that no more matches are possible.
        Parameters:
        result - The data structure to store results.