From 1e1ef23baeb0733091b69bc8a844e39cb0369f85 Mon Sep 17 00:00:00 2001 From: Tim Boeckstaens Date: Tue, 22 Jul 2025 11:34:50 +0200 Subject: [PATCH] Use final values in equals and hashCode Closes gh-17584 Signed-off-by: Tim Boeckstaens --- .../util/matcher/PathPatternRequestMatcher.java | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/web/src/main/java/org/springframework/security/web/servlet/util/matcher/PathPatternRequestMatcher.java b/web/src/main/java/org/springframework/security/web/servlet/util/matcher/PathPatternRequestMatcher.java index 81ee5976b22..602f5b6b1be 100644 --- a/web/src/main/java/org/springframework/security/web/servlet/util/matcher/PathPatternRequestMatcher.java +++ b/web/src/main/java/org/springframework/security/web/servlet/util/matcher/PathPatternRequestMatcher.java @@ -55,7 +55,7 @@ public final class PathPatternRequestMatcher implements RequestMatcher { private final PathPattern pattern; - private RequestMatcher method = AnyRequestMatcher.INSTANCE; + private final RequestMatcher method; /** * Creates a {@link PathPatternRequestMatcher} that uses the provided {@code pattern}. @@ -64,8 +64,9 @@ public final class PathPatternRequestMatcher implements RequestMatcher { *

* @param pattern the pattern used to match */ - private PathPatternRequestMatcher(PathPattern pattern) { + private PathPatternRequestMatcher(PathPattern pattern, RequestMatcher method) { this.pattern = pattern; + this.method = method; } /** @@ -108,10 +109,6 @@ public MatchResult matcher(HttpServletRequest request) { return (info != null) ? MatchResult.match(info.getUriVariables()) : MatchResult.notMatch(); } - void setMethod(RequestMatcher method) { - this.method = method; - } - private PathContainer getPathContainer(HttpServletRequest request) { RequestPath path; if (ServletRequestPathUtils.hasParsedRequestPath(request)) { @@ -286,11 +283,8 @@ public PathPatternRequestMatcher matcher(@Nullable HttpMethod method, String pat Assert.notNull(path, "pattern cannot be null"); Assert.isTrue(path.startsWith("/"), "pattern must start with a /"); PathPattern pathPattern = this.parser.parse(this.basePath + path); - PathPatternRequestMatcher requestMatcher = new PathPatternRequestMatcher(pathPattern); - if (method != null) { - requestMatcher.setMethod(new HttpMethodRequestMatcher(method)); - } - return requestMatcher; + return new PathPatternRequestMatcher(pathPattern, + (method != null) ? new HttpMethodRequestMatcher(method) : AnyRequestMatcher.INSTANCE); } }