org.springframework.util

## Class AntPathMatcher.AntPatternComparator

- java.lang.Object
- - org.springframework.util.AntPathMatcher.AntPatternComparator

- All Implemented Interfaces:
    Comparator<String>
  Enclosing class:
    AntPathMatcher

      protected static class AntPathMatcher.AntPatternComparator
      extends Object
      implements Comparator<String>

  The default `Comparator` implementation returned by `AntPathMatcher.getPatternComparator(String)`.

  In order, the most "generic" pattern is determined by the following:

  - if it's null or a capture all pattern (i.e. it is equal to "/**")
  - if the other pattern is an actual match
  - if it's a catch-all pattern (i.e. it ends with "**"
  - if it's got more "*" than the other pattern
  - if it's got more "{foo}" than the other pattern
  - if it's shorter than the other pattern

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AntPatternComparator(String path)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `compare(String pattern1, String pattern2)` Compare two patterns to determine which should match first, i.e.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface java.util.Comparator

      `comparing, comparing, comparingDouble, comparingInt, comparingLong, equals, naturalOrder, nullsFirst, nullsLast, reversed, reverseOrder, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong`

- - ### Constructor Detail

    - #### AntPatternComparator

          public AntPatternComparator(String path)

  - ### Method Detail

    - #### compare

          public int compare(String pattern1,
                             String pattern2)

      Compare two patterns to determine which should match first, i.e. which is the most specific regarding the current path.
      Specified by:
        `compare` in interface `Comparator<String>`
      Returns:
        a negative integer, zero, or a positive integer as pattern1 is more specific, equally specific, or less specific than pattern2.