diff --git a/spring-messaging/src/main/java/org/springframework/messaging/handler/invocation/HandlerMethodArgumentResolverComposite.java b/spring-messaging/src/main/java/org/springframework/messaging/handler/invocation/HandlerMethodArgumentResolverComposite.java index 89ecd7b525..937befe33e 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/handler/invocation/HandlerMethodArgumentResolverComposite.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/handler/invocation/HandlerMethodArgumentResolverComposite.java @@ -28,8 +28,8 @@ import org.springframework.messaging.Message; /** * Resolves method parameters by delegating to a list of registered - * {@link HandlerMethodArgumentResolver}. Previously resolved method parameters are cached - * for faster lookups. + * {@link HandlerMethodArgumentResolver HandlerMethodArgumentResolvers}. + * Previously resolved method parameters are cached for faster lookups. * * @author Rossen Stoyanchev * @author Juergen Hoeller @@ -46,8 +46,8 @@ public class HandlerMethodArgumentResolverComposite implements HandlerMethodArgu /** * Add the given {@link HandlerMethodArgumentResolver}. */ - public HandlerMethodArgumentResolverComposite addResolver(HandlerMethodArgumentResolver argumentResolver) { - this.argumentResolvers.add(argumentResolver); + public HandlerMethodArgumentResolverComposite addResolver(HandlerMethodArgumentResolver resolver) { + this.argumentResolvers.add(resolver); return this; } @@ -55,7 +55,9 @@ public class HandlerMethodArgumentResolverComposite implements HandlerMethodArgu * Add the given {@link HandlerMethodArgumentResolver HandlerMethodArgumentResolvers}. * @since 4.3 */ - public HandlerMethodArgumentResolverComposite addResolvers(@Nullable HandlerMethodArgumentResolver... resolvers) { + public HandlerMethodArgumentResolverComposite addResolvers( + @Nullable HandlerMethodArgumentResolver... resolvers) { + if (resolvers != null) { Collections.addAll(this.argumentResolvers, resolvers); } @@ -66,10 +68,10 @@ public class HandlerMethodArgumentResolverComposite implements HandlerMethodArgu * Add the given {@link HandlerMethodArgumentResolver HandlerMethodArgumentResolvers}. */ public HandlerMethodArgumentResolverComposite addResolvers( - @Nullable List argumentResolvers) { + @Nullable List resolvers) { - if (argumentResolvers != null) { - this.argumentResolvers.addAll(argumentResolvers); + if (resolvers != null) { + this.argumentResolvers.addAll(resolvers); } return this; } @@ -102,8 +104,7 @@ public class HandlerMethodArgumentResolverComposite implements HandlerMethodArgu * Iterate over registered * {@link HandlerMethodArgumentResolver HandlerMethodArgumentResolvers} * and invoke the one that supports it. - * @throws IllegalStateException if no suitable - * {@link HandlerMethodArgumentResolver} is found. + * @throws IllegalArgumentException if no suitable argument resolver is found */ @Override @Nullable diff --git a/spring-web/src/main/java/org/springframework/web/method/support/HandlerMethodArgumentResolverComposite.java b/spring-web/src/main/java/org/springframework/web/method/support/HandlerMethodArgumentResolverComposite.java index 1f56786575..ea6de1a45a 100644 --- a/spring-web/src/main/java/org/springframework/web/method/support/HandlerMethodArgumentResolverComposite.java +++ b/spring-web/src/main/java/org/springframework/web/method/support/HandlerMethodArgumentResolverComposite.java @@ -41,6 +41,7 @@ import org.springframework.web.context.request.NativeWebRequest; */ public class HandlerMethodArgumentResolverComposite implements HandlerMethodArgumentResolver { + @Deprecated protected final Log logger = LogFactory.getLog(getClass()); private final List argumentResolvers = new LinkedList<>(); @@ -61,7 +62,9 @@ public class HandlerMethodArgumentResolverComposite implements HandlerMethodArgu * Add the given {@link HandlerMethodArgumentResolver HandlerMethodArgumentResolvers}. * @since 4.3 */ - public HandlerMethodArgumentResolverComposite addResolvers(@Nullable HandlerMethodArgumentResolver... resolvers) { + public HandlerMethodArgumentResolverComposite addResolvers( + @Nullable HandlerMethodArgumentResolver... resolvers) { + if (resolvers != null) { Collections.addAll(this.argumentResolvers, resolvers); } @@ -107,10 +110,9 @@ public class HandlerMethodArgumentResolverComposite implements HandlerMethodArgu /** * Iterate over registered - * {@link HandlerMethodArgumentResolver HandlerMethodArgumentResolvers} and - * invoke the one that supports it. - * @throws IllegalStateException if no suitable - * {@link HandlerMethodArgumentResolver} is found. + * {@link HandlerMethodArgumentResolver HandlerMethodArgumentResolvers} + * and invoke the one that supports it. + * @throws IllegalArgumentException if no suitable argument resolver is found */ @Override @Nullable @@ -133,9 +135,9 @@ public class HandlerMethodArgumentResolverComposite implements HandlerMethodArgu private HandlerMethodArgumentResolver getArgumentResolver(MethodParameter parameter) { HandlerMethodArgumentResolver result = this.argumentResolverCache.get(parameter); if (result == null) { - for (HandlerMethodArgumentResolver methodArgumentResolver : this.argumentResolvers) { - if (methodArgumentResolver.supportsParameter(parameter)) { - result = methodArgumentResolver; + for (HandlerMethodArgumentResolver resolver : this.argumentResolvers) { + if (resolver.supportsParameter(parameter)) { + result = resolver; this.argumentResolverCache.put(parameter, result); break; } diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultWebClientBuilder.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultWebClientBuilder.java index be242c2aff..c8796e91f7 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultWebClientBuilder.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultWebClientBuilder.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2018 the original author or authors. + * Copyright 2002-2019 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. @@ -66,11 +66,11 @@ final class DefaultWebClientBuilder implements WebClient.Builder { @Nullable private ClientHttpConnector connector; + private ExchangeStrategies exchangeStrategies; + @Nullable private ExchangeFunction exchangeFunction; - private ExchangeStrategies exchangeStrategies; - public DefaultWebClientBuilder() { this.exchangeStrategies = ExchangeStrategies.withDefaults(); @@ -80,8 +80,8 @@ final class DefaultWebClientBuilder implements WebClient.Builder { Assert.notNull(other, "DefaultWebClientBuilder must not be null"); this.baseUrl = other.baseUrl; - this.defaultUriVariables = - other.defaultUriVariables != null ? new LinkedHashMap<>(other.defaultUriVariables) : null; + this.defaultUriVariables = (other.defaultUriVariables != null ? + new LinkedHashMap<>(other.defaultUriVariables) : null); this.uriBuilderFactory = other.uriBuilderFactory; if (other.defaultHeaders != null) { this.defaultHeaders = new HttpHeaders(); @@ -90,13 +90,13 @@ final class DefaultWebClientBuilder implements WebClient.Builder { else { this.defaultHeaders = null; } - this.defaultCookies = - other.defaultCookies != null ? new LinkedMultiValueMap<>(other.defaultCookies) : null; + this.defaultCookies = (other.defaultCookies != null ? + new LinkedMultiValueMap<>(other.defaultCookies) : null); this.defaultRequest = other.defaultRequest; this.filters = other.filters != null ? new ArrayList<>(other.filters) : null; this.connector = other.connector; - this.exchangeFunction = other.exchangeFunction; this.exchangeStrategies = other.exchangeStrategies; + this.exchangeFunction = other.exchangeFunction; } @@ -163,12 +163,6 @@ final class DefaultWebClientBuilder implements WebClient.Builder { return this; } - @Override - public WebClient.Builder clientConnector(ClientHttpConnector connector) { - this.connector = connector; - return this; - } - @Override public WebClient.Builder filter(ExchangeFilterFunction filter) { Assert.notNull(filter, "ExchangeFilterFunction must not be null"); @@ -190,8 +184,8 @@ final class DefaultWebClientBuilder implements WebClient.Builder { } @Override - public WebClient.Builder exchangeFunction(ExchangeFunction exchangeFunction) { - this.exchangeFunction = exchangeFunction; + public WebClient.Builder clientConnector(ClientHttpConnector connector) { + this.connector = connector; return this; } @@ -202,6 +196,23 @@ final class DefaultWebClientBuilder implements WebClient.Builder { return this; } + @Override + public WebClient.Builder exchangeFunction(ExchangeFunction exchangeFunction) { + this.exchangeFunction = exchangeFunction; + return this; + } + + @Override + public WebClient.Builder apply(Consumer builderConsumer) { + builderConsumer.accept(this); + return this; + } + + @Override + public WebClient.Builder clone() { + return new DefaultWebClientBuilder(this); + } + @Override public WebClient build() { ExchangeFunction exchange = initExchangeFunction(); @@ -245,15 +256,4 @@ final class DefaultWebClientBuilder implements WebClient.Builder { return CollectionUtils.unmodifiableMultiValueMap(new LinkedMultiValueMap<>(map)); } - @Override - public WebClient.Builder clone() { - return new DefaultWebClientBuilder(this); - } - - @Override - public WebClient.Builder apply(Consumer builderConsumer) { - builderConsumer.accept(this); - return this; - } - } diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/WebClient.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/WebClient.java index 67b594df22..f5e74bcc58 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/WebClient.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/WebClient.java @@ -307,11 +307,6 @@ public interface WebClient { */ Builder exchangeFunction(ExchangeFunction exchangeFunction); - /** - * Clone this {@code WebClient.Builder}. - */ - Builder clone(); - /** * Apply the given {@code Consumer} to this builder instance. *

This can be useful for applying pre-packaged customizations. @@ -319,17 +314,20 @@ public interface WebClient { */ Builder apply(Consumer builderConsumer); + /** + * Clone this {@code WebClient.Builder}. + */ + Builder clone(); + /** * Builder the {@link WebClient} instance. */ WebClient build(); - } /** * Contract for specifying the URI for a request. - * * @param a self reference to the spec type */ interface UriSpec> { @@ -370,7 +368,6 @@ public interface WebClient { /** * Contract for specifying request headers leading up to the exchange. - * * @param a self reference to the spec type */ interface RequestHeadersSpec> {