Browse Source

Consistent abstract declaration for utility classes (plus polishing)

Issue: SPR-16968
pull/1869/head
Juergen Hoeller 8 years ago
parent
commit
4ff1e3e74b
  1. 24
      spring-beans/src/main/java/org/springframework/beans/ExtendedBeanInfo.java
  2. 11
      spring-beans/src/main/java/org/springframework/beans/PropertyDescriptorUtils.java
  3. 6
      spring-beans/src/main/java/org/springframework/beans/factory/support/BeanDefinitionReaderUtils.java
  4. 6
      spring-context/src/main/java/org/springframework/cache/config/CacheManagementConfigUtils.java
  5. 1
      spring-context/src/main/java/org/springframework/context/annotation/BeanAnnotationHelper.java
  6. 1
      spring-context/src/main/java/org/springframework/context/annotation/ScopedProxyCreator.java
  7. 3
      spring-context/src/main/java/org/springframework/context/support/PostProcessorRegistrationDelegate.java
  8. 1
      spring-context/src/main/java/org/springframework/format/datetime/joda/JodaTimeConverters.java
  9. 1
      spring-context/src/main/java/org/springframework/format/datetime/standard/DateTimeConverters.java
  10. 1
      spring-context/src/main/java/org/springframework/jmx/support/ObjectNameManager.java
  11. 7
      spring-context/src/main/java/org/springframework/scheduling/config/TaskManagementConfigUtils.java
  12. 3
      spring-core/src/main/java/org/springframework/core/SpringVersion.java
  13. 6
      spring-core/src/main/java/org/springframework/core/env/ProfilesParser.java
  14. 7
      spring-jdbc/src/main/java/org/springframework/jdbc/config/DatabasePopulatorConfigUtils.java
  15. 1
      spring-jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/EmbeddedDatabaseConfigurerFactory.java
  16. 1
      spring-jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/OutputStreamFactory.java
  17. 7
      spring-test/src/main/java/org/springframework/test/annotation/TestAnnotationUtils.java
  18. 6
      spring-test/src/main/java/org/springframework/test/jdbc/JdbcTestUtils.java
  19. 1
      spring-test/src/main/java/org/springframework/test/web/servlet/setup/MockMvcBuilders.java
  20. 7
      spring-web/src/main/java/org/springframework/web/util/JavaScriptUtils.java
  21. 7
      spring-websocket/src/main/java/org/springframework/web/socket/config/WebSocketNamespaceUtils.java

24
spring-beans/src/main/java/org/springframework/beans/ExtendedBeanInfo.java

@ -43,8 +43,10 @@ import org.springframework.util.ObjectUtils; @@ -43,8 +43,10 @@ import org.springframework.util.ObjectUtils;
* Decorator for a standard {@link BeanInfo} object, e.g. as created by
* {@link Introspector#getBeanInfo(Class)}, designed to discover and register static
* and/or non-void returning setter methods. For example:
*
* <pre class="code">
* public class Bean {
*
* private Foo foo;
*
* public Foo getFoo() {
@ -56,6 +58,7 @@ import org.springframework.util.ObjectUtils; @@ -56,6 +58,7 @@ import org.springframework.util.ObjectUtils;
* return this;
* }
* }</pre>
*
* The standard JavaBeans {@code Introspector} will discover the {@code getFoo} read
* method, but will bypass the {@code #setFoo(Foo)} write method, because its non-void
* returning signature does not comply with the JavaBeans specification.
@ -68,6 +71,7 @@ import org.springframework.util.ObjectUtils; @@ -68,6 +71,7 @@ import org.springframework.util.ObjectUtils;
* indexed properties</a> are fully supported.
*
* @author Chris Beams
* @author Juergen Hoeller
* @since 3.1
* @see #ExtendedBeanInfo(BeanInfo)
* @see ExtendedBeanInfoFactory
@ -79,8 +83,7 @@ class ExtendedBeanInfo implements BeanInfo { @@ -79,8 +83,7 @@ class ExtendedBeanInfo implements BeanInfo {
private final BeanInfo delegate;
private final Set<PropertyDescriptor> propertyDescriptors =
new TreeSet<>(new PropertyDescriptorComparator());
private final Set<PropertyDescriptor> propertyDescriptors = new TreeSet<>(new PropertyDescriptorComparator());
/**
@ -91,11 +94,9 @@ class ExtendedBeanInfo implements BeanInfo { @@ -91,11 +94,9 @@ class ExtendedBeanInfo implements BeanInfo {
* through its method descriptors to find any non-void returning write methods and
* update or create the corresponding {@link PropertyDescriptor} for each one found.
* @param delegate the wrapped {@code BeanInfo}, which is never modified
* @throws IntrospectionException if any problems occur creating and adding new
* property descriptors
* @see #getPropertyDescriptors()
*/
public ExtendedBeanInfo(BeanInfo delegate) throws IntrospectionException {
public ExtendedBeanInfo(BeanInfo delegate) {
this.delegate = delegate;
for (PropertyDescriptor pd : delegate.getPropertyDescriptors()) {
try {
@ -214,8 +215,8 @@ class ExtendedBeanInfo implements BeanInfo { @@ -214,8 +215,8 @@ class ExtendedBeanInfo implements BeanInfo {
/**
* Return the set of {@link PropertyDescriptor PropertyDescriptors} from the wrapped
* {@link BeanInfo} object as well as {@code PropertyDescriptor BeanInfo} object as well as {@code PropertyDescriptors}
* for each non-void returning setter method found during construction.
* {@link BeanInfo} object as well as {@code PropertyDescriptors} for each non-void
* returning setter method found during construction.
* @see #ExtendedBeanInfo(BeanInfo)
*/
@Override
@ -281,7 +282,9 @@ class ExtendedBeanInfo implements BeanInfo { @@ -281,7 +282,9 @@ class ExtendedBeanInfo implements BeanInfo {
PropertyDescriptorUtils.copyNonMethodProperties(original, this);
}
public SimplePropertyDescriptor(String propertyName, @Nullable Method readMethod, Method writeMethod) throws IntrospectionException {
public SimplePropertyDescriptor(String propertyName, @Nullable Method readMethod, Method writeMethod)
throws IntrospectionException {
super(propertyName, null, null);
this.readMethod = readMethod;
this.writeMethod = writeMethod;
@ -385,8 +388,9 @@ class ExtendedBeanInfo implements BeanInfo { @@ -385,8 +388,9 @@ class ExtendedBeanInfo implements BeanInfo {
PropertyDescriptorUtils.copyNonMethodProperties(original, this);
}
public SimpleIndexedPropertyDescriptor(String propertyName, @Nullable Method readMethod, @Nullable Method writeMethod,
@Nullable Method indexedReadMethod, Method indexedWriteMethod) throws IntrospectionException {
public SimpleIndexedPropertyDescriptor(String propertyName, @Nullable Method readMethod,
@Nullable Method writeMethod, @Nullable Method indexedReadMethod, Method indexedWriteMethod)
throws IntrospectionException {
super(propertyName, null, null, null, null);
this.readMethod = readMethod;

11
spring-beans/src/main/java/org/springframework/beans/PropertyDescriptorUtils.java

@ -30,19 +30,12 @@ import org.springframework.util.ObjectUtils; @@ -30,19 +30,12 @@ import org.springframework.util.ObjectUtils;
* @author Chris Beams
* @author Juergen Hoeller
*/
final class PropertyDescriptorUtils {
private PropertyDescriptorUtils() {
}
abstract class PropertyDescriptorUtils {
/**
* See {@link java.beans.FeatureDescriptor}.
*/
public static void copyNonMethodProperties(PropertyDescriptor source, PropertyDescriptor target)
throws IntrospectionException {
public static void copyNonMethodProperties(PropertyDescriptor source, PropertyDescriptor target) {
target.setExpert(source.isExpert());
target.setHidden(source.isHidden());
target.setPreferred(source.isPreferred());

6
spring-beans/src/main/java/org/springframework/beans/factory/support/BeanDefinitionReaderUtils.java

@ -35,7 +35,7 @@ import org.springframework.util.StringUtils; @@ -35,7 +35,7 @@ import org.springframework.util.StringUtils;
* @see PropertiesBeanDefinitionReader
* @see org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader
*/
public final class BeanDefinitionReaderUtils {
public abstract class BeanDefinitionReaderUtils {
/**
* Separator for generated bean names. If a class name or parent name is not
@ -44,10 +44,6 @@ public final class BeanDefinitionReaderUtils { @@ -44,10 +44,6 @@ public final class BeanDefinitionReaderUtils {
public static final String GENERATED_BEAN_NAME_SEPARATOR = BeanFactoryUtils.GENERATED_BEAN_NAME_SEPARATOR;
private BeanDefinitionReaderUtils() {
}
/**
* Create a new GenericBeanDefinition for the given parent name and class name,
* eagerly loading the bean class if a ClassLoader has been specified.

6
spring-context/src/main/java/org/springframework/cache/config/CacheManagementConfigUtils.java vendored

@ -22,7 +22,7 @@ package org.springframework.cache.config; @@ -22,7 +22,7 @@ package org.springframework.cache.config;
* @author Juergen Hoeller
* @since 4.1
*/
public final class CacheManagementConfigUtils {
public abstract class CacheManagementConfigUtils {
/**
* The name of the cache advisor bean.
@ -48,8 +48,4 @@ public final class CacheManagementConfigUtils { @@ -48,8 +48,4 @@ public final class CacheManagementConfigUtils {
public static final String JCACHE_ASPECT_BEAN_NAME =
"org.springframework.cache.config.internalJCacheAspect";
private CacheManagementConfigUtils() {
}
}

1
spring-context/src/main/java/org/springframework/context/annotation/BeanAnnotationHelper.java

@ -29,7 +29,6 @@ import org.springframework.core.annotation.AnnotatedElementUtils; @@ -29,7 +29,6 @@ import org.springframework.core.annotation.AnnotatedElementUtils;
*/
final class BeanAnnotationHelper {
private BeanAnnotationHelper() {
}

1
spring-context/src/main/java/org/springframework/context/annotation/ScopedProxyCreator.java

@ -30,7 +30,6 @@ import org.springframework.beans.factory.support.BeanDefinitionRegistry; @@ -30,7 +30,6 @@ import org.springframework.beans.factory.support.BeanDefinitionRegistry;
*/
final class ScopedProxyCreator {
private ScopedProxyCreator() {
}

3
spring-context/src/main/java/org/springframework/context/support/PostProcessorRegistrationDelegate.java

@ -49,7 +49,6 @@ import org.springframework.lang.Nullable; @@ -49,7 +49,6 @@ import org.springframework.lang.Nullable;
*/
final class PostProcessorRegistrationDelegate {
private PostProcessorRegistrationDelegate() {
}
@ -306,7 +305,7 @@ final class PostProcessorRegistrationDelegate { @@ -306,7 +305,7 @@ final class PostProcessorRegistrationDelegate {
* BeanPostProcessor instantiation, i.e. when a bean is not eligible for
* getting processed by all BeanPostProcessors.
*/
private static class BeanPostProcessorChecker implements BeanPostProcessor {
private static final class BeanPostProcessorChecker implements BeanPostProcessor {
private static final Log logger = LogFactory.getLog(BeanPostProcessorChecker.class);

1
spring-context/src/main/java/org/springframework/format/datetime/joda/JodaTimeConverters.java

@ -46,7 +46,6 @@ import org.springframework.format.datetime.DateFormatterRegistrar; @@ -46,7 +46,6 @@ import org.springframework.format.datetime.DateFormatterRegistrar;
*/
final class JodaTimeConverters {
private JodaTimeConverters() {
}

1
spring-context/src/main/java/org/springframework/format/datetime/standard/DateTimeConverters.java

@ -43,7 +43,6 @@ import org.springframework.format.datetime.DateFormatterRegistrar; @@ -43,7 +43,6 @@ import org.springframework.format.datetime.DateFormatterRegistrar;
*/
final class DateTimeConverters {
private DateTimeConverters() {
}

1
spring-context/src/main/java/org/springframework/jmx/support/ObjectNameManager.java

@ -30,7 +30,6 @@ import javax.management.ObjectName; @@ -30,7 +30,6 @@ import javax.management.ObjectName;
*/
public final class ObjectNameManager {
private ObjectNameManager() {
}

7
spring-context/src/main/java/org/springframework/scheduling/config/TaskManagementConfigUtils.java

@ -22,7 +22,7 @@ package org.springframework.scheduling.config; @@ -22,7 +22,7 @@ package org.springframework.scheduling.config;
* @author Juergen Hoeller
* @since 4.1
*/
public final class TaskManagementConfigUtils {
public abstract class TaskManagementConfigUtils {
/**
* The bean name of the internally managed Scheduled annotation processor.
@ -42,9 +42,4 @@ public final class TaskManagementConfigUtils { @@ -42,9 +42,4 @@ public final class TaskManagementConfigUtils {
public static final String ASYNC_EXECUTION_ASPECT_BEAN_NAME =
"org.springframework.scheduling.config.internalAsyncExecutionAspect";
private TaskManagementConfigUtils() {
}
}

3
spring-core/src/main/java/org/springframework/core/SpringVersion.java

@ -25,7 +25,7 @@ import org.springframework.lang.Nullable; @@ -25,7 +25,7 @@ import org.springframework.lang.Nullable;
* <p>Note that some ClassLoaders do not expose the package metadata,
* hence this class might not be able to determine the Spring version
* in all environments. Consider using a reflection-based check instead:
* For example, checking for the presence of a specific Spring 2.0
* For example, checking for the presence of a specific Spring 5.0
* method that you intend to call.
*
* @author Juergen Hoeller
@ -33,7 +33,6 @@ import org.springframework.lang.Nullable; @@ -33,7 +33,6 @@ import org.springframework.lang.Nullable;
*/
public final class SpringVersion {
private SpringVersion() {
}

6
spring-core/src/main/java/org/springframework/core/env/ProfilesParser.java vendored

@ -32,7 +32,11 @@ import org.springframework.util.StringUtils; @@ -32,7 +32,11 @@ import org.springframework.util.StringUtils;
* @author Phillip Webb
* @since 5.1
*/
abstract class ProfilesParser {
final class ProfilesParser {
private ProfilesParser() {
}
static Profiles parse(String... expressions) {
Assert.notEmpty(expressions, "Must specify at least one profile");

7
spring-jdbc/src/main/java/org/springframework/jdbc/config/DatabasePopulatorConfigUtils.java

@ -38,12 +38,7 @@ import org.springframework.util.xml.DomUtils; @@ -38,12 +38,7 @@ import org.springframework.util.xml.DomUtils;
* @author Stephane Nicoll
* @since 3.1
*/
final class DatabasePopulatorConfigUtils {
private DatabasePopulatorConfigUtils() {
}
abstract class DatabasePopulatorConfigUtils {
public static void setDatabasePopulator(Element element, BeanDefinitionBuilder builder) {
List<Element> scripts = DomUtils.getChildElementsByTagName(element, "script");

1
spring-jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/EmbeddedDatabaseConfigurerFactory.java

@ -29,7 +29,6 @@ import org.springframework.util.Assert; @@ -29,7 +29,6 @@ import org.springframework.util.Assert;
*/
final class EmbeddedDatabaseConfigurerFactory {
private EmbeddedDatabaseConfigurerFactory() {
}

1
spring-jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/OutputStreamFactory.java

@ -28,7 +28,6 @@ import java.io.OutputStream; @@ -28,7 +28,6 @@ import java.io.OutputStream;
*/
public final class OutputStreamFactory {
private OutputStreamFactory() {
}

7
spring-test/src/main/java/org/springframework/test/annotation/TestAnnotationUtils.java

@ -26,12 +26,7 @@ import org.springframework.core.annotation.AnnotatedElementUtils; @@ -26,12 +26,7 @@ import org.springframework.core.annotation.AnnotatedElementUtils;
* @author Sam Brannen
* @since 4.2
*/
public final class TestAnnotationUtils {
private TestAnnotationUtils() {
}
public abstract class TestAnnotationUtils {
/**
* Get the {@code timeout} configured via the {@link Timed @Timed}

6
spring-test/src/main/java/org/springframework/test/jdbc/JdbcTestUtils.java

@ -38,15 +38,11 @@ import org.springframework.util.StringUtils; @@ -38,15 +38,11 @@ import org.springframework.util.StringUtils;
* @see org.springframework.jdbc.datasource.init.ResourceDatabasePopulator
* @see org.springframework.jdbc.datasource.init.DatabasePopulatorUtils
*/
public final class JdbcTestUtils {
public abstract class JdbcTestUtils {
private static final Log logger = LogFactory.getLog(JdbcTestUtils.class);
private JdbcTestUtils() {
}
/**
* Count the rows in the given table.
* @param jdbcTemplate the JdbcTemplate with which to perform JDBC operations

1
spring-test/src/main/java/org/springframework/test/web/servlet/setup/MockMvcBuilders.java

@ -35,7 +35,6 @@ import org.springframework.web.context.WebApplicationContext; @@ -35,7 +35,6 @@ import org.springframework.web.context.WebApplicationContext;
*/
public final class MockMvcBuilders {
private MockMvcBuilders() {
}

7
spring-web/src/main/java/org/springframework/web/util/JavaScriptUtils.java

@ -29,12 +29,7 @@ package org.springframework.web.util; @@ -29,12 +29,7 @@ package org.springframework.web.util;
* @author Rossen Stoyanchev
* @since 1.1.1
*/
public final class JavaScriptUtils {
private JavaScriptUtils() {
}
public abstract class JavaScriptUtils {
/**
* Turn JavaScript special characters into escaped characters.

7
spring-websocket/src/main/java/org/springframework/web/socket/config/WebSocketNamespaceUtils.java

@ -44,12 +44,7 @@ import org.springframework.web.socket.sockjs.transport.handler.WebSocketTranspor @@ -44,12 +44,7 @@ import org.springframework.web.socket.sockjs.transport.handler.WebSocketTranspor
* @author Rossen Stoyanchev
* @since 4.0
*/
final class WebSocketNamespaceUtils {
private WebSocketNamespaceUtils() {
}
abstract class WebSocketNamespaceUtils {
public static RuntimeBeanReference registerHandshakeHandler(
Element element, ParserContext context, @Nullable Object source) {

Loading…
Cancel
Save