diff --git a/spring-core/src/main/java/org/springframework/core/convert/support/StringToBooleanConverter.java b/spring-core/src/main/java/org/springframework/core/convert/support/StringToBooleanConverter.java index f4f43932189..a476de69cca 100644 --- a/spring-core/src/main/java/org/springframework/core/convert/support/StringToBooleanConverter.java +++ b/spring-core/src/main/java/org/springframework/core/convert/support/StringToBooleanConverter.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 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. @@ -30,9 +30,9 @@ import org.springframework.core.convert.converter.Converter; */ final class StringToBooleanConverter implements Converter { - private static final Set trueValues = new HashSet<>(4); + private static final Set trueValues = new HashSet<>(8); - private static final Set falseValues = new HashSet<>(4); + private static final Set falseValues = new HashSet<>(8); static { trueValues.add("true"); @@ -46,6 +46,7 @@ final class StringToBooleanConverter implements Converter { falseValues.add("0"); } + @Override public Boolean convert(String source) { String value = source.trim(); diff --git a/spring-core/src/main/java/org/springframework/core/convert/support/StringToUUIDConverter.java b/spring-core/src/main/java/org/springframework/core/convert/support/StringToUUIDConverter.java index 00d48b22a89..794450cbd08 100644 --- a/spring-core/src/main/java/org/springframework/core/convert/support/StringToUUIDConverter.java +++ b/spring-core/src/main/java/org/springframework/core/convert/support/StringToUUIDConverter.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2015 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. @@ -19,6 +19,7 @@ package org.springframework.core.convert.support; import java.util.UUID; import org.springframework.core.convert.converter.Converter; +import org.springframework.lang.Nullable; import org.springframework.util.StringUtils; /** @@ -31,6 +32,7 @@ import org.springframework.util.StringUtils; final class StringToUUIDConverter implements Converter { @Override + @Nullable public UUID convert(String source) { return (StringUtils.hasLength(source) ? UUID.fromString(source.trim()) : null); } diff --git a/spring-web/src/main/java/org/springframework/http/ContentDisposition.java b/spring-web/src/main/java/org/springframework/http/ContentDisposition.java index 1a6fab102b3..068ec0dd934 100644 --- a/spring-web/src/main/java/org/springframework/http/ContentDisposition.java +++ b/spring-web/src/main/java/org/springframework/http/ContentDisposition.java @@ -369,10 +369,10 @@ public final class ContentDisposition { } /** - * Decode the given header field param as describe in RFC 5987. + * Decode the given header field param as described in RFC 5987. *

Only the US-ASCII, UTF-8 and ISO-8859-1 charsets are supported. - * @param filename the header field param - * @param charset the charset to use + * @param filename the filename + * @param charset the charset for the filename * @return the encoded header field param * @see RFC 5987 */ @@ -380,18 +380,18 @@ public final class ContentDisposition { Assert.notNull(filename, "'input' String` should not be null"); Assert.notNull(charset, "'charset' should not be null"); byte[] value = filename.getBytes(charset); - ByteArrayOutputStream bos = new ByteArrayOutputStream(); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); int index = 0; while (index < value.length) { byte b = value[index]; if (isRFC5987AttrChar(b)) { - bos.write((char) b); + baos.write((char) b); index++; } else if (b == '%' && index < value.length - 2) { char[] array = new char[]{(char) value[index + 1], (char) value[index + 2]}; try { - bos.write(Integer.parseInt(String.valueOf(array), 16)); + baos.write(Integer.parseInt(String.valueOf(array), 16)); } catch (NumberFormatException ex) { throw new IllegalArgumentException(INVALID_HEADER_FIELD_PARAMETER_FORMAT, ex); @@ -402,7 +402,7 @@ public final class ContentDisposition { throw new IllegalArgumentException(INVALID_HEADER_FIELD_PARAMETER_FORMAT); } } - return new String(bos.toByteArray(), charset); + return new String(baos.toByteArray(), charset); } private static boolean isRFC5987AttrChar(byte c) { @@ -522,7 +522,7 @@ public final class ContentDisposition { private static class BuilderImpl implements Builder { - private String type; + private final String type; @Nullable private String name; diff --git a/src/docs/asciidoc/core/core-aop-api.adoc b/src/docs/asciidoc/core/core-aop-api.adoc index f2541e937b1..b1866153a47 100644 --- a/src/docs/asciidoc/core/core-aop-api.adoc +++ b/src/docs/asciidoc/core/core-aop-api.adoc @@ -143,9 +143,9 @@ frameworks besides Spring make this possible. `org.springframework.aop.support.JdkRegexpMethodPointcut` is a generic regular expression pointcut that uses the regular expression support in the JDK. -With the `JdkRegexpMethodPointcut` class, you can provide a list of pattern strings. If -any of these is a match, the pointcut evaluates to `true`. (So, the result is -effectively the union of these pointcuts.) +With the `JdkRegexpMethodPointcut` class, you can provide a list of pattern strings. +If any of these is a match, the pointcut evaluates to `true`. (As a consequence, +the resulting pointcut is effectively the union of the specified patterns.) The following example shows how to use `JdkRegexpMethodPointcut`: diff --git a/src/docs/asciidoc/core/core-aop.adoc b/src/docs/asciidoc/core/core-aop.adoc index ebefe137dae..82bdba26cc2 100644 --- a/src/docs/asciidoc/core/core-aop.adoc +++ b/src/docs/asciidoc/core/core-aop.adoc @@ -1413,7 +1413,7 @@ join point, unless you specify otherwise, the order of execution is undefined. Y control the order of execution by specifying precedence. This is done in the normal Spring way by either implementing the `org.springframework.core.Ordered` interface in the aspect class or annotating it with the `@Order` annotation. Given two aspects, the -aspect returning the lower value from `Ordered.getValue()` (or the annotation value) has +aspect returning the lower value from `Ordered.getOrder()` (or the annotation value) has the higher precedence. When two pieces of advice defined in the same aspect both need to run at the same @@ -2531,7 +2531,7 @@ an aspect weaving phase to your build script. If you have chosen to use Spring AOP, you have a choice of @AspectJ or XML style. There are various tradeoffs to consider. -The XML style may most familiar to existing Spring users, and it is backed by genuine +The XML style may be most familiar to existing Spring users, and it is backed by genuine POJOs. When using AOP as a tool to configure enterprise services, XML can be a good choice (a good test is whether you consider the pointcut expression to be a part of your configuration that you might want to change independently). With the XML style, it is diff --git a/src/docs/asciidoc/core/core-beans.adoc b/src/docs/asciidoc/core/core-beans.adoc index cf56360a336..43bf2790997 100644 --- a/src/docs/asciidoc/core/core-beans.adoc +++ b/src/docs/asciidoc/core/core-beans.adoc @@ -42,7 +42,7 @@ information on using the `BeanFactory` instead of the `ApplicationContext,` see In Spring, the objects that form the backbone of your application and that are managed by the Spring IoC container are called beans. A bean is an object that is -instantiated, assembled, and otherwise managed by a Spring IoC container. Otherwise, a +instantiated, assembled, and managed by a Spring IoC container. Otherwise, a bean is simply one of many objects in your application. Beans, and the dependencies among them, are reflected in the configuration metadata used by a container. @@ -2089,7 +2089,7 @@ startup, because it must satisfy the singleton's dependencies. The lazy-initiali is injected into a singleton bean elsewhere that is not lazy-initialized. You can also control lazy-initialization at the container level by using the -`default-lazy-init` attribute on the `` element, a the following example shows: +`default-lazy-init` attribute on the `` element, as the following example shows: ==== [source,xml,indent=0] @@ -4190,7 +4190,8 @@ which these `BeanFactoryPostProcessor` instances run by setting the `order` prop However, you can only set this property if the `BeanFactoryPostProcessor` implements the `Ordered` interface. If you write your own `BeanFactoryPostProcessor`, you should consider implementing the `Ordered` interface, too. See the javadoc of the -{api-spring-framework}/beans/factory/config/BeanFactoryPostProcessor.html[`BeanFactoryPostProcessor`] and {api-spring-framework}/core/Ordered.html[`Ordered`] interfaces for more details. +{api-spring-framework}/beans/factory/config/BeanFactoryPostProcessor.html[`BeanFactoryPostProcessor`] +and {api-spring-framework}/core/Ordered.html[`Ordered`] interfaces for more details. [NOTE] ====