From c7774680564726153eb34c5c6d3e8bb80dd54f07 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Mon, 8 Jun 2020 19:37:58 +0200 Subject: [PATCH] Polishing --- .../aop/config/AopNamespaceHandler.java | 6 +- .../web/util/DefaultUriBuilderFactory.java | 112 +++++++++--------- .../web/util/UriBuilderFactory.java | 6 +- 3 files changed, 63 insertions(+), 61 deletions(-) diff --git a/spring-aop/src/main/java/org/springframework/aop/config/AopNamespaceHandler.java b/spring-aop/src/main/java/org/springframework/aop/config/AopNamespaceHandler.java index 99eb2fa6f594..fa6cc80a1f3c 100644 --- a/spring-aop/src/main/java/org/springframework/aop/config/AopNamespaceHandler.java +++ b/spring-aop/src/main/java/org/springframework/aop/config/AopNamespaceHandler.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2020 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -61,12 +61,12 @@ public class AopNamespaceHandler extends NamespaceHandlerSupport { */ @Override public void init() { - // In 2.0 XSD as well as in 2.1 XSD. + // In 2.0 XSD as well as in 2.5+ XSDs registerBeanDefinitionParser("config", new ConfigBeanDefinitionParser()); registerBeanDefinitionParser("aspectj-autoproxy", new AspectJAutoProxyBeanDefinitionParser()); registerBeanDefinitionDecorator("scoped-proxy", new ScopedProxyBeanDefinitionDecorator()); - // Only in 2.0 XSD: moved to context namespace as of 2.1 + // Only in 2.0 XSD: moved to context namespace in 2.5+ registerBeanDefinitionParser("spring-configured", new SpringConfiguredBeanDefinitionParser()); } diff --git a/spring-web/src/main/java/org/springframework/web/util/DefaultUriBuilderFactory.java b/spring-web/src/main/java/org/springframework/web/util/DefaultUriBuilderFactory.java index 1df9e750991c..1b90021c28d7 100644 --- a/spring-web/src/main/java/org/springframework/web/util/DefaultUriBuilderFactory.java +++ b/spring-web/src/main/java/org/springframework/web/util/DefaultUriBuilderFactory.java @@ -40,62 +40,6 @@ */ public class DefaultUriBuilderFactory implements UriBuilderFactory { - /** - * Enum to represent multiple URI encoding strategies. The following are - * available: - * - * @see #setEncodingMode - */ - public enum EncodingMode { - - /** - * Pre-encode the URI template first, then strictly encode URI variables - * when expanded, with the following rules: - * - *

For most cases, this mode is most likely to give the expected - * result because in treats URI variables as opaque data to be fully - * encoded, while {@link #URI_COMPONENT} by comparison is useful only - * if intentionally expanding URI variables with reserved characters. - * @since 5.0.8 - * @see UriComponentsBuilder#encode() - */ - TEMPLATE_AND_VALUES, - - /** - * Does not encode the URI template and instead applies strict encoding - * to URI variables via {@link UriUtils#encodeUriVariables} prior to - * expanding them into the template. - * @see UriUtils#encodeUriVariables(Object...) - * @see UriUtils#encodeUriVariables(Map) - */ - VALUES_ONLY, - - /** - * Expand URI variables first, and then encode the resulting URI - * component values, replacing only non-ASCII and illegal - * (within a given URI component type) characters, but not characters - * with reserved meaning. - * @see UriComponents#encode() - */ - URI_COMPONENT, - - /** - * No encoding should be applied. - */ - NONE - } - - @Nullable private final UriComponentsBuilder baseUri; @@ -222,6 +166,62 @@ public UriBuilder builder() { } + /** + * Enum to represent multiple URI encoding strategies. The following are + * available: + *

+ * @see #setEncodingMode + */ + public enum EncodingMode { + + /** + * Pre-encode the URI template first, then strictly encode URI variables + * when expanded, with the following rules: + * + *

For most cases, this mode is most likely to give the expected + * result because in treats URI variables as opaque data to be fully + * encoded, while {@link #URI_COMPONENT} by comparison is useful only + * if intentionally expanding URI variables with reserved characters. + * @since 5.0.8 + * @see UriComponentsBuilder#encode() + */ + TEMPLATE_AND_VALUES, + + /** + * Does not encode the URI template and instead applies strict encoding + * to URI variables via {@link UriUtils#encodeUriVariables} prior to + * expanding them into the template. + * @see UriUtils#encodeUriVariables(Object...) + * @see UriUtils#encodeUriVariables(Map) + */ + VALUES_ONLY, + + /** + * Expand URI variables first, and then encode the resulting URI + * component values, replacing only non-ASCII and illegal + * (within a given URI component type) characters, but not characters + * with reserved meaning. + * @see UriComponents#encode() + */ + URI_COMPONENT, + + /** + * No encoding should be applied. + */ + NONE + } + + /** * {@link DefaultUriBuilderFactory} specific implementation of UriBuilder. */ diff --git a/spring-web/src/main/java/org/springframework/web/util/UriBuilderFactory.java b/spring-web/src/main/java/org/springframework/web/util/UriBuilderFactory.java index c1d7698123f7..ddd5f5dd8335 100644 --- a/spring-web/src/main/java/org/springframework/web/util/UriBuilderFactory.java +++ b/spring-web/src/main/java/org/springframework/web/util/UriBuilderFactory.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2018 the original author or authors. + * Copyright 2002-2020 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.springframework.web.util; /** @@ -22,13 +23,14 @@ * * @author Rossen Stoyanchev * @since 5.0 + * @see DefaultUriBuilderFactory */ public interface UriBuilderFactory extends UriTemplateHandler { /** * Initialize a builder with the given URI template. * @param uriTemplate the URI template to use - * @return the URI builder instance + * @return the builder instance */ UriBuilder uriString(String uriTemplate);