Class PathPatternParser
java.lang.Object
org.springframework.web.util.pattern.PathPatternParser
Parser for URI path patterns producing
PathPattern instances that can
then be matched to requests.
The PathPatternParser and PathPattern are specifically
designed for use with HTTP URL paths in web applications where a large number
of URI path patterns, continuously matched against incoming requests,
motivates the need for efficient matching.
For details of the path pattern syntax see PathPattern.
- Since:
- 5.0
- Author:
- Andy Clement
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final PathPatternParserShared, read-only instance ofPathPatternParser. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionGet theconfiguredpattern parsing options.initFullPathPattern(String pattern) Prepare the given pattern for use in matching to full URL paths.booleanWhether case-sensitive pattern matching is enabled.Process the path pattern content, a character at a time, breaking it into path elements around separator boundaries and verifying the structure at each stage.voidsetCaseSensitive(boolean caseSensitive) Configure whether path pattern matching should be case-sensitive.voidsetPathOptions(PathContainer.Options pathOptions) Set options for parsing patterns.
-
Field Details
-
defaultInstance
Shared, read-only instance ofPathPatternParser.Uses default settings:
matchOptionalTrailingSeparator = falsecaseSensitive = truepathOptions = PathContainer.Options.HTTP_PATH
-
-
Constructor Details
-
PathPatternParser
public PathPatternParser()
-
-
Method Details
-
setCaseSensitive
public void setCaseSensitive(boolean caseSensitive) Configure whether path pattern matching should be case-sensitive.The default is
true. -
isCaseSensitive
public boolean isCaseSensitive()Whether case-sensitive pattern matching is enabled. -
setPathOptions
Set options for parsing patterns. These should be the same as the options used to parse input paths.PathContainer.Options.HTTP_PATHis used by default.- Since:
- 5.2
-
getPathOptions
Get theconfiguredpattern parsing options.- Since:
- 5.2
-
initFullPathPattern
-
parse
Process the path pattern content, a character at a time, breaking it into path elements around separator boundaries and verifying the structure at each stage. Produces a PathPattern object that can be used for fast matching against paths. Each invocation of this method delegates to a new instance of theInternalPathPatternParserbecause that class is not thread-safe.- Parameters:
pathPattern- the input path pattern, for example, /project/{name}- Returns:
- a PathPattern for quickly matching paths against request paths
- Throws:
PatternParseException- in case of parse errors
-