From 22d674804e920460afe1e171e8e348fece6ca14f Mon Sep 17 00:00:00 2001 From: Pil0tXia Date: Wed, 5 Jul 2023 22:28:23 +0800 Subject: [PATCH] doc: Write JavaDoc and comments for UrlMappingPattern --- .../admin/rocketmq/util/UrlMappingPattern.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/eventmesh-admin/eventmesh-admin-rocketmq/src/main/java/org/apache/eventmesh/admin/rocketmq/util/UrlMappingPattern.java b/eventmesh-admin/eventmesh-admin-rocketmq/src/main/java/org/apache/eventmesh/admin/rocketmq/util/UrlMappingPattern.java index 994f471c86..254a3c8ca3 100644 --- a/eventmesh-admin/eventmesh-admin-rocketmq/src/main/java/org/apache/eventmesh/admin/rocketmq/util/UrlMappingPattern.java +++ b/eventmesh-admin/eventmesh-admin-rocketmq/src/main/java/org/apache/eventmesh/admin/rocketmq/util/UrlMappingPattern.java @@ -25,6 +25,11 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; +/** + * Represents a URL mapping pattern for routing purposes. + * The pattern can include variable path parameters or query strings. + */ + public class UrlMappingPattern { private static final String URL_PARAMETER_REGEX = "\\{(\\w*?)\\}"; @@ -55,6 +60,13 @@ public String getMappingPattern() { return urlMappingPattern.replaceFirst(URL_FORMAT_REGEX, ""); } + /** + * Extracts path parameters from the given URL and returns a {@link Map} of parameter names to values. + * + * @param url the URL from which to extract path parameters + * @return a {@link Map} containing path parameter names and their corresponding values, + * or null if the URL does not match the defined URL mapping pattern + */ public Map extractPathParameterValues(String url) { Matcher matcher = compiledUrlMappingPattern.matcher(url); if (matcher.matches()) { @@ -81,6 +93,12 @@ private void acquireParamNames() { } } + /** + * Extracts parameters from the provided {@link Matcher} object and returns a {@link Map} of parameter names to values. + * + * @param matcher the Matcher object used to match and capture parameter values + * @return a {@link Map} containing parameter names and their corresponding values + */ private Map extractParameters(Matcher matcher) { Map values = new HashMap<>((int) (matcher.groupCount() / 0.75f + 1)); for (int i = 0; i < matcher.groupCount(); i++) {