Interface PathContainer

All Known Subinterfaces:
RequestPath

public interface PathContainer
Structured representation of a URI path parsed via parsePath(String) into a sequence of PathContainer.Separator and PathContainer.PathSegment elements.

Each PathContainer.PathSegment exposes its content in decoded form and with path parameters removed. This makes it safe to match one path segment at a time without the risk of decoded reserved characters altering the structure of the path.

Since:
5.0
Author:
Rossen Stoyanchev
  • Method Details

    • value

      String value()
      The original path from which this instance was parsed.
    • elements

      The contained path elements, either PathContainer.Separator or PathContainer.PathSegment.
    • subPath

      default PathContainer subPath(int index)
      Extract a sub-path from the given offset into the elements list.
      Parameters:
      index - the start element index (inclusive)
      Returns:
      the sub-path
    • subPath

      default PathContainer subPath(int startIndex, int endIndex)
      Extract a sub-path from the given start offset into the element list (inclusive) and to the end offset (exclusive).
      Parameters:
      startIndex - the start element index (inclusive)
      endIndex - the end element index (exclusive)
      Returns:
      the sub-path
    • parsePath

      static PathContainer parsePath(String path)
      Parse the path value into a sequence of "/" Separator and PathSegment elements.
      Parameters:
      path - the encoded, raw path value to parse
      Returns:
      the parsed path
    • parsePath

      static PathContainer parsePath(String path, PathContainer.Options options)
      Parse the path value into a sequence of Separator and PathSegment elements.
      Parameters:
      path - the encoded, raw path value to parse
      options - to customize parsing
      Returns:
      the parsed path
      Since:
      5.2