Interface PathSpec

All Superinterfaces:
Comparable<PathSpec>
All Known Implementing Classes:
AbstractPathSpec, RegexPathSpec, ServletPathSpec, UriTemplatePathSpec

public interface PathSpec extends Comparable<PathSpec>
A path specification is a URI path template that can be matched against.

Implementors must override Object.equals(Object) and Object.hashCode().

  • Method Details

    • from

      static PathSpec from(String pathSpecString)
    • getSpecLength

      int getSpecLength()
      The length of the spec.
      Returns:
      the length of the spec.
    • getGroup

      PathSpecGroup getGroup()
      The spec group.
      Returns:
      the spec group.
    • getPathDepth

      int getPathDepth()
      Get the number of path elements that this path spec declares.

      This is used to determine longest match logic.

      Returns:
      the depth of the path segments that this spec declares
    • getPathInfo

      @Deprecated String getPathInfo(String path)
      Deprecated.
      use matched(String) instead
      Return the portion of the path that is after the path spec.
      Parameters:
      path - the path to match against
      Returns:
      the path info portion of the string
    • getPathMatch

      @Deprecated String getPathMatch(String path)
      Deprecated.
      use matched(String) instead
      Return the portion of the path that matches a path spec.
      Parameters:
      path - the path to match against
      Returns:
      the match, or null if no match at all
    • getDeclaration

      String getDeclaration()
      The as-provided path spec.
      Returns:
      the as-provided path spec
    • getPrefix

      String getPrefix()
      A simple prefix match for the pathspec or null
      Returns:
      A simple prefix match for the pathspec or null
    • getSuffix

      String getSuffix()
      A simple suffix match for the pathspec or null
      Returns:
      A simple suffix match for the pathspec or null
    • matches

      default boolean matches(String path)
      Test to see if the provided path matches this path spec. This can be more efficient that matched(String) if the details of the match are not required.
      Parameters:
      path - the path to test
      Returns:
      true if the path matches this path spec, false otherwise
      See Also:
    • matched

      MatchedPath matched(String path)
      Get the complete matched details of the provided path.
      Parameters:
      path - the path to test
      Returns:
      the matched details, if a match was possible, or null if not able to be matched.
      See Also: