Package org.springframework.util
Interface RouteMatcher
- All Known Implementing Classes:
PathPatternRouteMatcher
,SimpleRouteMatcher
public interface RouteMatcher
Contract for matching routes to patterns.
Equivalent to PathMatcher
, but enables use of parsed representations
of routes and patterns for efficiency reasons in scenarios where routes from
incoming messages are continuously matched against a large number of message
handler patterns.
- Since:
- 5.2
- Author:
- Rossen Stoyanchev
- See Also:
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic interface
A parsed representation of a route. -
Method Summary
Modifier and TypeMethodDescriptionCombines two patterns into a single pattern.Given a route, return aComparator
suitable for sorting patterns in order of explicitness for that route, so that more specific patterns come before more generic ones.boolean
Whether the givenroute
contains pattern syntax which requires thematch(String, Route)
method, or if it is a regular String that could be compared directly to others.boolean
match
(String pattern, RouteMatcher.Route route) Match the given route against the given pattern.matchAndExtract
(String pattern, RouteMatcher.Route route) Match the pattern to the route and extract template variables.parseRoute
(String routeValue) Return a parsed representation of the given route.
-
Method Details
-
parseRoute
Return a parsed representation of the given route.- Parameters:
routeValue
- the route to parse- Returns:
- the parsed representation of the route
-
isPattern
Whether the givenroute
contains pattern syntax which requires thematch(String, Route)
method, or if it is a regular String that could be compared directly to others.- Parameters:
route
- the route to check- Returns:
true
if the givenroute
represents a pattern
-
combine
Combines two patterns into a single pattern.- Parameters:
pattern1
- the first patternpattern2
- the second pattern- Returns:
- the combination of the two patterns
- Throws:
IllegalArgumentException
- when the two patterns cannot be combined
-
match
Match the given route against the given pattern.- Parameters:
pattern
- the pattern to try to matchroute
- the route to test against- Returns:
true
if there is a match,false
otherwise
-
matchAndExtract
Match the pattern to the route and extract template variables.- Parameters:
pattern
- the pattern, possibly containing templates variablesroute
- the route to extract template variables from- Returns:
- a map with template variables and values
-
getPatternComparator
Given a route, return aComparator
suitable for sorting patterns in order of explicitness for that route, so that more specific patterns come before more generic ones.- Parameters:
route
- the full path to use for comparison- Returns:
- a comparator capable of sorting patterns in order of explicitness
-