diff --git a/spring-aop/src/main/java/org/aopalliance/intercept/MethodInterceptor.java b/spring-aop/src/main/java/org/aopalliance/intercept/MethodInterceptor.java index c08fd7443f2..8239b0e63b7 100644 --- a/spring-aop/src/main/java/org/aopalliance/intercept/MethodInterceptor.java +++ b/spring-aop/src/main/java/org/aopalliance/intercept/MethodInterceptor.java @@ -39,6 +39,7 @@ package org.aopalliance.intercept; * * @author Rod Johnson */ +@FunctionalInterface public interface MethodInterceptor extends Interceptor { /** diff --git a/spring-aop/src/main/java/org/springframework/aop/ClassFilter.java b/spring-aop/src/main/java/org/springframework/aop/ClassFilter.java index 9cb86c02c0b..822515f7592 100644 --- a/spring-aop/src/main/java/org/springframework/aop/ClassFilter.java +++ b/spring-aop/src/main/java/org/springframework/aop/ClassFilter.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2007 the original author or authors. + * Copyright 2002-2016 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. @@ -27,6 +27,7 @@ package org.springframework.aop; * @see Pointcut * @see MethodMatcher */ +@FunctionalInterface public interface ClassFilter { /** diff --git a/spring-aop/src/main/java/org/springframework/aop/framework/autoproxy/TargetSourceCreator.java b/spring-aop/src/main/java/org/springframework/aop/framework/autoproxy/TargetSourceCreator.java index 67f9638ce45..a962c3518b9 100644 --- a/spring-aop/src/main/java/org/springframework/aop/framework/autoproxy/TargetSourceCreator.java +++ b/spring-aop/src/main/java/org/springframework/aop/framework/autoproxy/TargetSourceCreator.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -29,6 +29,7 @@ import org.springframework.aop.TargetSource; * @author Rod Johnson * @author Juergen Hoeller */ +@FunctionalInterface public interface TargetSourceCreator { /** diff --git a/spring-aop/src/main/java/org/springframework/aop/interceptor/AsyncUncaughtExceptionHandler.java b/spring-aop/src/main/java/org/springframework/aop/interceptor/AsyncUncaughtExceptionHandler.java index 933e3024c5f..2914e53ef5d 100644 --- a/spring-aop/src/main/java/org/springframework/aop/interceptor/AsyncUncaughtExceptionHandler.java +++ b/spring-aop/src/main/java/org/springframework/aop/interceptor/AsyncUncaughtExceptionHandler.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2016 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. @@ -29,6 +29,7 @@ import java.lang.reflect.Method; * @author Stephane Nicoll * @since 4.1 */ +@FunctionalInterface public interface AsyncUncaughtExceptionHandler { /** diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/config/BeanFactoryPostProcessor.java b/spring-beans/src/main/java/org/springframework/beans/factory/config/BeanFactoryPostProcessor.java index 8cfbb7645ff..e0d5b07e757 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/config/BeanFactoryPostProcessor.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/config/BeanFactoryPostProcessor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -42,6 +42,7 @@ import org.springframework.beans.BeansException; * @see BeanPostProcessor * @see PropertyResourceConfigurer */ +@FunctionalInterface public interface BeanFactoryPostProcessor { /** diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/parsing/SourceExtractor.java b/spring-beans/src/main/java/org/springframework/beans/factory/parsing/SourceExtractor.java index 0b0fe96658c..ed9248fdf28 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/parsing/SourceExtractor.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/parsing/SourceExtractor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -33,6 +33,7 @@ import org.springframework.core.io.Resource; * @see org.springframework.beans.BeanMetadataElement#getSource() * @see org.springframework.beans.factory.config.BeanDefinition */ +@FunctionalInterface public interface SourceExtractor { /** diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/xml/NamespaceHandlerResolver.java b/spring-beans/src/main/java/org/springframework/beans/factory/xml/NamespaceHandlerResolver.java index d8ccc410506..7874ed2f195 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/xml/NamespaceHandlerResolver.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/xml/NamespaceHandlerResolver.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -25,6 +25,7 @@ package org.springframework.beans.factory.xml; * @see NamespaceHandler * @see org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader */ +@FunctionalInterface public interface NamespaceHandlerResolver { /** diff --git a/spring-context-support/src/main/java/org/springframework/mail/javamail/MimeMessagePreparator.java b/spring-context-support/src/main/java/org/springframework/mail/javamail/MimeMessagePreparator.java index 2740bc19c71..4aa82246af3 100644 --- a/spring-context-support/src/main/java/org/springframework/mail/javamail/MimeMessagePreparator.java +++ b/spring-context-support/src/main/java/org/springframework/mail/javamail/MimeMessagePreparator.java @@ -36,6 +36,7 @@ import javax.mail.internet.MimeMessage; * @see JavaMailSender#send(MimeMessagePreparator[]) * @see MimeMessageHelper */ +@FunctionalInterface public interface MimeMessagePreparator { /** diff --git a/spring-context/src/main/java/org/springframework/cache/Cache.java b/spring-context/src/main/java/org/springframework/cache/Cache.java index ebd26020471..3124461b2e5 100644 --- a/spring-context/src/main/java/org/springframework/cache/Cache.java +++ b/spring-context/src/main/java/org/springframework/cache/Cache.java @@ -145,6 +145,7 @@ public interface Cache { /** * A (wrapper) object representing a cache value. */ + @FunctionalInterface interface ValueWrapper { /** diff --git a/spring-context/src/main/java/org/springframework/cache/annotation/AnnotationCacheOperationSource.java b/spring-context/src/main/java/org/springframework/cache/annotation/AnnotationCacheOperationSource.java index 858bbbbc274..f685cc2b674 100644 --- a/spring-context/src/main/java/org/springframework/cache/annotation/AnnotationCacheOperationSource.java +++ b/spring-context/src/main/java/org/springframework/cache/annotation/AnnotationCacheOperationSource.java @@ -181,6 +181,7 @@ public class AnnotationCacheOperationSource extends AbstractFallbackCacheOperati * Callback interface providing {@link CacheOperation} instance(s) based on * a given {@link CacheAnnotationParser}. */ + @FunctionalInterface protected interface CacheOperationProvider { /** diff --git a/spring-context/src/main/java/org/springframework/cache/interceptor/CacheOperationInvoker.java b/spring-context/src/main/java/org/springframework/cache/interceptor/CacheOperationInvoker.java index 8901ba1945c..aa5d50452be 100644 --- a/spring-context/src/main/java/org/springframework/cache/interceptor/CacheOperationInvoker.java +++ b/spring-context/src/main/java/org/springframework/cache/interceptor/CacheOperationInvoker.java @@ -27,6 +27,7 @@ package org.springframework.cache.interceptor; * @author Stephane Nicoll * @since 4.1 */ +@FunctionalInterface public interface CacheOperationInvoker { /** diff --git a/spring-context/src/main/java/org/springframework/cache/interceptor/CacheResolver.java b/spring-context/src/main/java/org/springframework/cache/interceptor/CacheResolver.java index 4bf2fd02e6b..8b5b4be8339 100644 --- a/spring-context/src/main/java/org/springframework/cache/interceptor/CacheResolver.java +++ b/spring-context/src/main/java/org/springframework/cache/interceptor/CacheResolver.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2015 the original author or authors. + * Copyright 2002-2016 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. @@ -28,6 +28,7 @@ import org.springframework.cache.Cache; * @author Stephane Nicoll * @since 4.1 */ +@FunctionalInterface public interface CacheResolver { /** diff --git a/spring-context/src/main/java/org/springframework/cache/interceptor/KeyGenerator.java b/spring-context/src/main/java/org/springframework/cache/interceptor/KeyGenerator.java index ad34f5b20af..0dbf048bf51 100644 --- a/spring-context/src/main/java/org/springframework/cache/interceptor/KeyGenerator.java +++ b/spring-context/src/main/java/org/springframework/cache/interceptor/KeyGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2016 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. @@ -27,6 +27,7 @@ import java.lang.reflect.Method; * @author Phillip Webb * @since 3.1 */ +@FunctionalInterface public interface KeyGenerator { /** diff --git a/spring-context/src/main/java/org/springframework/context/ApplicationListener.java b/spring-context/src/main/java/org/springframework/context/ApplicationListener.java index 54d22825ff8..8cb0262f079 100644 --- a/spring-context/src/main/java/org/springframework/context/ApplicationListener.java +++ b/spring-context/src/main/java/org/springframework/context/ApplicationListener.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2015 the original author or authors. + * Copyright 2002-2016 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. @@ -33,6 +33,7 @@ import java.util.EventListener; * @param the specific ApplicationEvent subclass to listen to * @see org.springframework.context.event.ApplicationEventMulticaster */ +@FunctionalInterface public interface ApplicationListener extends EventListener { /** diff --git a/spring-context/src/main/java/org/springframework/context/annotation/Condition.java b/spring-context/src/main/java/org/springframework/context/annotation/Condition.java index edc6c05b70a..2cdcc36cb82 100644 --- a/spring-context/src/main/java/org/springframework/context/annotation/Condition.java +++ b/spring-context/src/main/java/org/springframework/context/annotation/Condition.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2016 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. @@ -38,6 +38,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata; * @see Conditional * @see ConditionContext */ +@FunctionalInterface public interface Condition { /** diff --git a/spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClassEnhancer.java b/spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClassEnhancer.java index 52c27a3ce0a..f239b2158ea 100644 --- a/spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClassEnhancer.java +++ b/spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClassEnhancer.java @@ -151,6 +151,7 @@ class ConfigurationClassEnhancer { * must remain public in order to allow access to subclasses generated from other * packages (i.e. user code). */ + @FunctionalInterface public interface EnhancedConfiguration extends BeanFactoryAware { } @@ -159,6 +160,7 @@ class ConfigurationClassEnhancer { * Conditional {@link Callback}. * @see ConditionalCallbackFilter */ + @FunctionalInterface private interface ConditionalCallback extends Callback { boolean isMatch(Method candidateMethod); diff --git a/spring-context/src/main/java/org/springframework/context/annotation/ScopeMetadataResolver.java b/spring-context/src/main/java/org/springframework/context/annotation/ScopeMetadataResolver.java index 04fda90705a..0020b96e847 100644 --- a/spring-context/src/main/java/org/springframework/context/annotation/ScopeMetadataResolver.java +++ b/spring-context/src/main/java/org/springframework/context/annotation/ScopeMetadataResolver.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -25,6 +25,7 @@ import org.springframework.beans.factory.config.BeanDefinition; * @since 2.5 * @see org.springframework.context.annotation.Scope */ +@FunctionalInterface public interface ScopeMetadataResolver { /** diff --git a/spring-context/src/main/java/org/springframework/format/Parser.java b/spring-context/src/main/java/org/springframework/format/Parser.java index ed62cc4e10d..f856ad95160 100644 --- a/spring-context/src/main/java/org/springframework/format/Parser.java +++ b/spring-context/src/main/java/org/springframework/format/Parser.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -26,6 +26,7 @@ import java.util.Locale; * @since 3.0 * @param the type of object this Parser produces */ +@FunctionalInterface public interface Parser { /** diff --git a/spring-context/src/main/java/org/springframework/format/Printer.java b/spring-context/src/main/java/org/springframework/format/Printer.java index ce2d5d85a8e..582735e113c 100644 --- a/spring-context/src/main/java/org/springframework/format/Printer.java +++ b/spring-context/src/main/java/org/springframework/format/Printer.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -25,6 +25,7 @@ import java.util.Locale; * @since 3.0 * @param the type of object this Printer prints */ +@FunctionalInterface public interface Printer { /** diff --git a/spring-context/src/main/java/org/springframework/jmx/export/MBeanExporter.java b/spring-context/src/main/java/org/springframework/jmx/export/MBeanExporter.java index c50ceb6228a..c58632be435 100644 --- a/spring-context/src/main/java/org/springframework/jmx/export/MBeanExporter.java +++ b/spring-context/src/main/java/org/springframework/jmx/export/MBeanExporter.java @@ -1077,7 +1077,8 @@ public class MBeanExporter extends MBeanRegistrationSupport implements MBeanExpo /** * Internal callback interface for the autodetection process. */ - private static interface AutodetectCallback { + @FunctionalInterface + private interface AutodetectCallback { /** * Called during the autodetection process to decide whether diff --git a/spring-context/src/main/java/org/springframework/jmx/export/naming/ObjectNamingStrategy.java b/spring-context/src/main/java/org/springframework/jmx/export/naming/ObjectNamingStrategy.java index cfbda068c0d..8ff3511946e 100644 --- a/spring-context/src/main/java/org/springframework/jmx/export/naming/ObjectNamingStrategy.java +++ b/spring-context/src/main/java/org/springframework/jmx/export/naming/ObjectNamingStrategy.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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,6 +30,7 @@ import javax.management.ObjectName; * @see org.springframework.jmx.export.MBeanExporter * @see javax.management.ObjectName */ +@FunctionalInterface public interface ObjectNamingStrategy { /** diff --git a/spring-context/src/main/java/org/springframework/jmx/export/notification/NotificationPublisher.java b/spring-context/src/main/java/org/springframework/jmx/export/notification/NotificationPublisher.java index 068b7a5a603..85e6feae916 100644 --- a/spring-context/src/main/java/org/springframework/jmx/export/notification/NotificationPublisher.java +++ b/spring-context/src/main/java/org/springframework/jmx/export/notification/NotificationPublisher.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -42,6 +42,7 @@ import javax.management.Notification; * @see NotificationPublisherAware * @see org.springframework.jmx.export.MBeanExporter */ +@FunctionalInterface public interface NotificationPublisher { /** diff --git a/spring-context/src/main/java/org/springframework/jndi/JndiCallback.java b/spring-context/src/main/java/org/springframework/jndi/JndiCallback.java index c7845ec84cc..c6c76826f7e 100644 --- a/spring-context/src/main/java/org/springframework/jndi/JndiCallback.java +++ b/spring-context/src/main/java/org/springframework/jndi/JndiCallback.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -33,6 +33,7 @@ import javax.naming.NamingException; * @see JndiTemplate * @see org.springframework.jdbc.core.JdbcTemplate */ +@FunctionalInterface public interface JndiCallback { /** diff --git a/spring-context/src/main/java/org/springframework/scheduling/annotation/SchedulingConfigurer.java b/spring-context/src/main/java/org/springframework/scheduling/annotation/SchedulingConfigurer.java index 095ff700a7c..f782a970edd 100644 --- a/spring-context/src/main/java/org/springframework/scheduling/annotation/SchedulingConfigurer.java +++ b/spring-context/src/main/java/org/springframework/scheduling/annotation/SchedulingConfigurer.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -36,6 +36,7 @@ import org.springframework.scheduling.config.ScheduledTaskRegistrar; * @see EnableScheduling * @see ScheduledTaskRegistrar */ +@FunctionalInterface public interface SchedulingConfigurer { /** diff --git a/spring-context/src/main/java/org/springframework/scripting/groovy/GroovyObjectCustomizer.java b/spring-context/src/main/java/org/springframework/scripting/groovy/GroovyObjectCustomizer.java index cb4f5b1c17d..7d1adabe804 100644 --- a/spring-context/src/main/java/org/springframework/scripting/groovy/GroovyObjectCustomizer.java +++ b/spring-context/src/main/java/org/springframework/scripting/groovy/GroovyObjectCustomizer.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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,6 +30,7 @@ import groovy.lang.GroovyObject; * @since 2.0.2 * @see GroovyScriptFactory */ +@FunctionalInterface public interface GroovyObjectCustomizer { /** diff --git a/spring-core/src/main/java/org/springframework/core/MethodIntrospector.java b/spring-core/src/main/java/org/springframework/core/MethodIntrospector.java index dbd594c4637..0f8e3965564 100644 --- a/spring-core/src/main/java/org/springframework/core/MethodIntrospector.java +++ b/spring-core/src/main/java/org/springframework/core/MethodIntrospector.java @@ -146,6 +146,7 @@ public abstract class MethodIntrospector { * A callback interface for metadata lookup on a given method. * @param the type of metadata returned */ + @FunctionalInterface public interface MetadataLookup { /** diff --git a/spring-core/src/main/java/org/springframework/core/OrderComparator.java b/spring-core/src/main/java/org/springframework/core/OrderComparator.java index 3d976d94af1..39e27ac56cb 100644 --- a/spring-core/src/main/java/org/springframework/core/OrderComparator.java +++ b/spring-core/src/main/java/org/springframework/core/OrderComparator.java @@ -203,6 +203,7 @@ public class OrderComparator implements Comparator { * Strategy interface to provide an order source for a given object. * @since 4.1 */ + @FunctionalInterface public interface OrderSourceProvider { /** diff --git a/spring-core/src/main/java/org/springframework/core/convert/converter/Converter.java b/spring-core/src/main/java/org/springframework/core/convert/converter/Converter.java index 0223b5d4002..0d3c5dc14fa 100644 --- a/spring-core/src/main/java/org/springframework/core/convert/converter/Converter.java +++ b/spring-core/src/main/java/org/springframework/core/convert/converter/Converter.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2015 the original author or authors. + * Copyright 2002-2016 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. @@ -28,6 +28,7 @@ package org.springframework.core.convert.converter; * @param the source type * @param the target type */ +@FunctionalInterface public interface Converter { /** diff --git a/spring-core/src/main/java/org/springframework/core/io/ProtocolResolver.java b/spring-core/src/main/java/org/springframework/core/io/ProtocolResolver.java index 700c866e7fa..6d808c37c36 100644 --- a/spring-core/src/main/java/org/springframework/core/io/ProtocolResolver.java +++ b/spring-core/src/main/java/org/springframework/core/io/ProtocolResolver.java @@ -27,6 +27,7 @@ package org.springframework.core.io; * @since 4.3 * @see DefaultResourceLoader#addProtocolResolver */ +@FunctionalInterface public interface ProtocolResolver { /** diff --git a/spring-core/src/main/java/org/springframework/core/serializer/Deserializer.java b/spring-core/src/main/java/org/springframework/core/serializer/Deserializer.java index f64fbdf762f..5cc8a9d195c 100644 --- a/spring-core/src/main/java/org/springframework/core/serializer/Deserializer.java +++ b/spring-core/src/main/java/org/springframework/core/serializer/Deserializer.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -26,6 +26,7 @@ import java.io.InputStream; * @author Mark Fisher * @since 3.0.5 */ +@FunctionalInterface public interface Deserializer { /** diff --git a/spring-core/src/main/java/org/springframework/core/serializer/Serializer.java b/spring-core/src/main/java/org/springframework/core/serializer/Serializer.java index 8af65195243..70f329cdc81 100644 --- a/spring-core/src/main/java/org/springframework/core/serializer/Serializer.java +++ b/spring-core/src/main/java/org/springframework/core/serializer/Serializer.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -26,6 +26,7 @@ import java.io.OutputStream; * @author Mark Fisher * @since 3.0.5 */ +@FunctionalInterface public interface Serializer { /** diff --git a/spring-core/src/main/java/org/springframework/core/task/TaskDecorator.java b/spring-core/src/main/java/org/springframework/core/task/TaskDecorator.java index d36a3ab3919..d61b584f524 100644 --- a/spring-core/src/main/java/org/springframework/core/task/TaskDecorator.java +++ b/spring-core/src/main/java/org/springframework/core/task/TaskDecorator.java @@ -32,6 +32,7 @@ package org.springframework.core.task; * @see TaskExecutor#execute(Runnable) * @see SimpleAsyncTaskExecutor#setTaskDecorator */ +@FunctionalInterface public interface TaskDecorator { /** diff --git a/spring-core/src/main/java/org/springframework/core/task/TaskExecutor.java b/spring-core/src/main/java/org/springframework/core/task/TaskExecutor.java index bf8b9f910e8..573cb02abf5 100644 --- a/spring-core/src/main/java/org/springframework/core/task/TaskExecutor.java +++ b/spring-core/src/main/java/org/springframework/core/task/TaskExecutor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -35,6 +35,7 @@ import java.util.concurrent.Executor; * @since 2.0 * @see java.util.concurrent.Executor */ +@FunctionalInterface public interface TaskExecutor extends Executor { /** diff --git a/spring-core/src/main/java/org/springframework/core/type/filter/TypeFilter.java b/spring-core/src/main/java/org/springframework/core/type/filter/TypeFilter.java index bdcf33524d5..5bd4d1b22d0 100644 --- a/spring-core/src/main/java/org/springframework/core/type/filter/TypeFilter.java +++ b/spring-core/src/main/java/org/springframework/core/type/filter/TypeFilter.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2007 the original author or authors. + * Copyright 2002-2016 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,6 +30,7 @@ import org.springframework.core.type.classreading.MetadataReaderFactory; * @author Mark Fisher * @since 2.5 */ +@FunctionalInterface public interface TypeFilter { /** diff --git a/spring-core/src/main/java/org/springframework/util/AutoPopulatingList.java b/spring-core/src/main/java/org/springframework/util/AutoPopulatingList.java index 1f42d01defc..0d10f6a1f81 100644 --- a/spring-core/src/main/java/org/springframework/util/AutoPopulatingList.java +++ b/spring-core/src/main/java/org/springframework/util/AutoPopulatingList.java @@ -243,6 +243,7 @@ public class AutoPopulatingList implements List, Serializable { * Factory interface for creating elements for an index-based access * data structure such as a {@link java.util.List}. */ + @FunctionalInterface public interface ElementFactory { /** diff --git a/spring-core/src/main/java/org/springframework/util/ErrorHandler.java b/spring-core/src/main/java/org/springframework/util/ErrorHandler.java index a43ee8b6590..506777ef0ff 100644 --- a/spring-core/src/main/java/org/springframework/util/ErrorHandler.java +++ b/spring-core/src/main/java/org/springframework/util/ErrorHandler.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -25,6 +25,7 @@ package org.springframework.util; * @author Mark Fisher * @since 3.0 */ +@FunctionalInterface public interface ErrorHandler { /** diff --git a/spring-core/src/main/java/org/springframework/util/PropertyPlaceholderHelper.java b/spring-core/src/main/java/org/springframework/util/PropertyPlaceholderHelper.java index 206b147c78d..094173916e6 100644 --- a/spring-core/src/main/java/org/springframework/util/PropertyPlaceholderHelper.java +++ b/spring-core/src/main/java/org/springframework/util/PropertyPlaceholderHelper.java @@ -212,7 +212,8 @@ public class PropertyPlaceholderHelper { /** * Strategy interface used to resolve replacement values for placeholders contained in Strings. */ - public static interface PlaceholderResolver { + @FunctionalInterface + public interface PlaceholderResolver { /** * Resolve the supplied placeholder name to the replacement value. diff --git a/spring-core/src/main/java/org/springframework/util/ReflectionUtils.java b/spring-core/src/main/java/org/springframework/util/ReflectionUtils.java index fd2df57be1b..558db143214 100644 --- a/spring-core/src/main/java/org/springframework/util/ReflectionUtils.java +++ b/spring-core/src/main/java/org/springframework/util/ReflectionUtils.java @@ -755,6 +755,7 @@ public abstract class ReflectionUtils { /** * Action to take on each method. */ + @FunctionalInterface public interface MethodCallback { /** @@ -768,6 +769,7 @@ public abstract class ReflectionUtils { /** * Callback optionally used to filter methods to be operated on by a method callback. */ + @FunctionalInterface public interface MethodFilter { /** @@ -781,6 +783,7 @@ public abstract class ReflectionUtils { /** * Callback interface invoked on each field in the hierarchy. */ + @FunctionalInterface public interface FieldCallback { /** @@ -794,6 +797,7 @@ public abstract class ReflectionUtils { /** * Callback optionally used to filter fields to be operated on by a field callback. */ + @FunctionalInterface public interface FieldFilter { /** diff --git a/spring-core/src/main/java/org/springframework/util/StringValueResolver.java b/spring-core/src/main/java/org/springframework/util/StringValueResolver.java index acc77c1e645..fe7799d3fc0 100644 --- a/spring-core/src/main/java/org/springframework/util/StringValueResolver.java +++ b/spring-core/src/main/java/org/springframework/util/StringValueResolver.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2007 the original author or authors. + * Copyright 2002-2016 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. @@ -26,6 +26,7 @@ package org.springframework.util; * @see org.springframework.beans.factory.config.BeanDefinitionVisitor#BeanDefinitionVisitor(StringValueResolver) * @see org.springframework.beans.factory.config.PropertyPlaceholderConfigurer */ +@FunctionalInterface public interface StringValueResolver { /** diff --git a/spring-core/src/main/java/org/springframework/util/backoff/BackOff.java b/spring-core/src/main/java/org/springframework/util/backoff/BackOff.java index 0543ac917ac..f3bc0ac6158 100644 --- a/spring-core/src/main/java/org/springframework/util/backoff/BackOff.java +++ b/spring-core/src/main/java/org/springframework/util/backoff/BackOff.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2016 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. @@ -43,6 +43,7 @@ package org.springframework.util.backoff; * @since 4.1 * @see BackOffExecution */ +@FunctionalInterface public interface BackOff { /** diff --git a/spring-core/src/main/java/org/springframework/util/backoff/BackOffExecution.java b/spring-core/src/main/java/org/springframework/util/backoff/BackOffExecution.java index 4204285ceb5..117bbd7f9fa 100644 --- a/spring-core/src/main/java/org/springframework/util/backoff/BackOffExecution.java +++ b/spring-core/src/main/java/org/springframework/util/backoff/BackOffExecution.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2016 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. @@ -25,6 +25,7 @@ package org.springframework.util.backoff; * @since 4.1 * @see BackOff */ +@FunctionalInterface public interface BackOffExecution { /** diff --git a/spring-core/src/main/java/org/springframework/util/concurrent/FailureCallback.java b/spring-core/src/main/java/org/springframework/util/concurrent/FailureCallback.java index 20f2142024c..f3304d0f8b5 100644 --- a/spring-core/src/main/java/org/springframework/util/concurrent/FailureCallback.java +++ b/spring-core/src/main/java/org/springframework/util/concurrent/FailureCallback.java @@ -22,6 +22,7 @@ package org.springframework.util.concurrent; * @author Sebastien Deleuze * @since 4.1 */ +@FunctionalInterface public interface FailureCallback { /** diff --git a/spring-core/src/main/java/org/springframework/util/concurrent/SuccessCallback.java b/spring-core/src/main/java/org/springframework/util/concurrent/SuccessCallback.java index b20bcad137d..bd1930c9e4c 100644 --- a/spring-core/src/main/java/org/springframework/util/concurrent/SuccessCallback.java +++ b/spring-core/src/main/java/org/springframework/util/concurrent/SuccessCallback.java @@ -22,6 +22,7 @@ package org.springframework.util.concurrent; * @author Sebastien Deleuze * @since 4.1 */ +@FunctionalInterface public interface SuccessCallback { /** diff --git a/spring-expression/src/main/java/org/springframework/expression/ConstructorResolver.java b/spring-expression/src/main/java/org/springframework/expression/ConstructorResolver.java index 0019e8c3b15..30255ac2e61 100644 --- a/spring-expression/src/main/java/org/springframework/expression/ConstructorResolver.java +++ b/spring-expression/src/main/java/org/springframework/expression/ConstructorResolver.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2016 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. @@ -28,6 +28,7 @@ import org.springframework.core.convert.TypeDescriptor; * @author Andy Clement * @since 3.0 */ +@FunctionalInterface public interface ConstructorResolver { /** diff --git a/spring-expression/src/main/java/org/springframework/expression/MethodFilter.java b/spring-expression/src/main/java/org/springframework/expression/MethodFilter.java index d7c6e20cbdb..3cd2afef41e 100644 --- a/spring-expression/src/main/java/org/springframework/expression/MethodFilter.java +++ b/spring-expression/src/main/java/org/springframework/expression/MethodFilter.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2016 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,6 +30,7 @@ import java.util.List; * @author Andy Clement * @since 3.0.1 */ +@FunctionalInterface public interface MethodFilter { /** diff --git a/spring-expression/src/main/java/org/springframework/expression/TypeLocator.java b/spring-expression/src/main/java/org/springframework/expression/TypeLocator.java index e9696268953..87018b4eaa1 100644 --- a/spring-expression/src/main/java/org/springframework/expression/TypeLocator.java +++ b/spring-expression/src/main/java/org/springframework/expression/TypeLocator.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2016 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. @@ -27,6 +27,7 @@ package org.springframework.expression; * @author Andy Clement * @since 3.0 */ +@FunctionalInterface public interface TypeLocator { /** diff --git a/spring-expression/src/main/java/org/springframework/expression/spel/CodeFlow.java b/spring-expression/src/main/java/org/springframework/expression/spel/CodeFlow.java index c503ea94a41..bdb9e2e60d0 100644 --- a/spring-expression/src/main/java/org/springframework/expression/spel/CodeFlow.java +++ b/spring-expression/src/main/java/org/springframework/expression/spel/CodeFlow.java @@ -838,12 +838,14 @@ public class CodeFlow implements Opcodes { return clazzName; } + @FunctionalInterface public interface FieldAdder { - public void generateField(ClassWriter cw, CodeFlow codeflow); + void generateField(ClassWriter cw, CodeFlow codeflow); } + @FunctionalInterface public interface ClinitAdder { - public void generateCode(MethodVisitor mv, CodeFlow codeflow); + void generateCode(MethodVisitor mv, CodeFlow codeflow); } /** diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/CallableStatementCallback.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/CallableStatementCallback.java index 8ce3abbf353..434e243737b 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/CallableStatementCallback.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/CallableStatementCallback.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -40,6 +40,7 @@ import org.springframework.dao.DataAccessException; * @see JdbcTemplate#execute(String, CallableStatementCallback) * @see JdbcTemplate#execute(CallableStatementCreator, CallableStatementCallback) */ +@FunctionalInterface public interface CallableStatementCallback { /** diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/CallableStatementCreator.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/CallableStatementCreator.java index b4175b86028..920640214ee 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/CallableStatementCreator.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/CallableStatementCreator.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -40,6 +40,7 @@ import java.sql.SQLException; * @see JdbcTemplate#call * @see SqlProvider */ +@FunctionalInterface public interface CallableStatementCreator { /** diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/ConnectionCallback.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/ConnectionCallback.java index 55a63039c3a..7c99bdc01a8 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/ConnectionCallback.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/ConnectionCallback.java @@ -37,6 +37,7 @@ import org.springframework.dao.DataAccessException; * @see JdbcTemplate#query * @see JdbcTemplate#update */ +@FunctionalInterface public interface ConnectionCallback { /** diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/ParameterMapper.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/ParameterMapper.java index e333c738750..8198084ee22 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/ParameterMapper.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/ParameterMapper.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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,6 +30,7 @@ import java.util.Map; * @see CallableStatementCreatorFactory#newCallableStatementCreator(ParameterMapper) * @see org.springframework.jdbc.object.StoredProcedure#execute(ParameterMapper) */ +@FunctionalInterface public interface ParameterMapper { /** diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/ParameterizedPreparedStatementSetter.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/ParameterizedPreparedStatementSetter.java index 500e1523e41..b69439d6f4b 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/ParameterizedPreparedStatementSetter.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/ParameterizedPreparedStatementSetter.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2016 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. @@ -37,6 +37,7 @@ import java.sql.SQLException; * @since 3.1 * @see JdbcTemplate#batchUpdate(String, java.util.Collection, int, ParameterizedPreparedStatementSetter) */ +@FunctionalInterface public interface ParameterizedPreparedStatementSetter { /** diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/PreparedStatementCallback.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/PreparedStatementCallback.java index 9c2cd0e9be0..3db375c7b95 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/PreparedStatementCallback.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/PreparedStatementCallback.java @@ -40,6 +40,7 @@ import org.springframework.dao.DataAccessException; * @see JdbcTemplate#execute(String, PreparedStatementCallback) * @see JdbcTemplate#execute(PreparedStatementCreator, PreparedStatementCallback) */ +@FunctionalInterface public interface PreparedStatementCallback { /** diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/PreparedStatementCreator.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/PreparedStatementCreator.java index ee123ceed93..c6f39075fb6 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/PreparedStatementCreator.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/PreparedStatementCreator.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -40,6 +40,7 @@ import java.sql.SQLException; * @see JdbcTemplate#update(PreparedStatementCreator) * @see SqlProvider */ +@FunctionalInterface public interface PreparedStatementCreator { /** diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/PreparedStatementSetter.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/PreparedStatementSetter.java index 462eba3fafa..8978a7f532d 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/PreparedStatementSetter.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/PreparedStatementSetter.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -40,6 +40,7 @@ import java.sql.SQLException; * @see JdbcTemplate#update(String, PreparedStatementSetter) * @see JdbcTemplate#query(String, PreparedStatementSetter, ResultSetExtractor) */ +@FunctionalInterface public interface PreparedStatementSetter { /** diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/ResultSetExtractor.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/ResultSetExtractor.java index 183b8b2b1bc..7ada08f7899 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/ResultSetExtractor.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/ResultSetExtractor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -46,6 +46,7 @@ import org.springframework.dao.DataAccessException; * @see RowMapper * @see org.springframework.jdbc.core.support.AbstractLobStreamingResultSetExtractor */ +@FunctionalInterface public interface ResultSetExtractor { /** diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/RowCallbackHandler.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/RowCallbackHandler.java index 47f1e4f57a4..3f592052d21 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/RowCallbackHandler.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/RowCallbackHandler.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -42,6 +42,7 @@ import java.sql.SQLException; * @see ResultSetExtractor * @see RowCountCallbackHandler */ +@FunctionalInterface public interface RowCallbackHandler { /** diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/RowMapper.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/RowMapper.java index 48ac7c8d3eb..8e044a92903 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/RowMapper.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/RowMapper.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -45,6 +45,7 @@ import java.sql.SQLException; * @see ResultSetExtractor * @see org.springframework.jdbc.object.MappingSqlQuery */ +@FunctionalInterface public interface RowMapper { /** diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/StatementCallback.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/StatementCallback.java index 3edd3c2b67c..7fdb7101924 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/StatementCallback.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/StatementCallback.java @@ -33,6 +33,7 @@ import org.springframework.dao.DataAccessException; * @since 16.03.2004 * @see JdbcTemplate#execute(StatementCallback) */ +@FunctionalInterface public interface StatementCallback { /** diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/init/DatabasePopulator.java b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/init/DatabasePopulator.java index d72ee0cab3b..fc03cb6b8b7 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/init/DatabasePopulator.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/init/DatabasePopulator.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2016 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. @@ -29,6 +29,7 @@ import java.sql.SQLException; * @see DatabasePopulatorUtils * @see DataSourceInitializer */ +@FunctionalInterface public interface DatabasePopulator { /** diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/lookup/DataSourceLookup.java b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/lookup/DataSourceLookup.java index f4eff425d3e..1ab29a43377 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/lookup/DataSourceLookup.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/lookup/DataSourceLookup.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -29,6 +29,7 @@ import javax.sql.DataSource; * @since 2.0 * @see org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager#setDataSourceLookup */ +@FunctionalInterface public interface DataSourceLookup { /** diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/support/DatabaseMetaDataCallback.java b/spring-jdbc/src/main/java/org/springframework/jdbc/support/DatabaseMetaDataCallback.java index abb9d7e33b3..8b283c2633e 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/support/DatabaseMetaDataCallback.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/support/DatabaseMetaDataCallback.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -28,6 +28,7 @@ import java.sql.SQLException; * @author Thomas Risberg * @see JdbcUtils#extractDatabaseMetaData */ +@FunctionalInterface public interface DatabaseMetaDataCallback { /** diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/support/SQLExceptionTranslator.java b/spring-jdbc/src/main/java/org/springframework/jdbc/support/SQLExceptionTranslator.java index 87a84c8dc15..193b1e1b1f4 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/support/SQLExceptionTranslator.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/support/SQLExceptionTranslator.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -33,6 +33,7 @@ import org.springframework.dao.DataAccessException; * @author Juergen Hoeller * @see org.springframework.dao.DataAccessException */ +@FunctionalInterface public interface SQLExceptionTranslator { /** diff --git a/spring-jms/src/main/java/org/springframework/jms/annotation/JmsListenerConfigurer.java b/spring-jms/src/main/java/org/springframework/jms/annotation/JmsListenerConfigurer.java index 403e5bd3f07..5427a3d1e8a 100644 --- a/spring-jms/src/main/java/org/springframework/jms/annotation/JmsListenerConfigurer.java +++ b/spring-jms/src/main/java/org/springframework/jms/annotation/JmsListenerConfigurer.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2016 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. @@ -33,6 +33,7 @@ import org.springframework.jms.config.JmsListenerEndpointRegistrar; * @see EnableJms * @see JmsListenerEndpointRegistrar */ +@FunctionalInterface public interface JmsListenerConfigurer { /** diff --git a/spring-jms/src/main/java/org/springframework/jms/core/BrowserCallback.java b/spring-jms/src/main/java/org/springframework/jms/core/BrowserCallback.java index 563503eb075..c9f2b57790a 100644 --- a/spring-jms/src/main/java/org/springframework/jms/core/BrowserCallback.java +++ b/spring-jms/src/main/java/org/springframework/jms/core/BrowserCallback.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -31,6 +31,7 @@ import javax.jms.Session; * @see JmsTemplate#browse(BrowserCallback) * @see JmsTemplate#browseSelected(String, BrowserCallback) */ +@FunctionalInterface public interface BrowserCallback { /** diff --git a/spring-jms/src/main/java/org/springframework/jms/core/MessageCreator.java b/spring-jms/src/main/java/org/springframework/jms/core/MessageCreator.java index 3f3d5c14ba9..213242d91d0 100644 --- a/spring-jms/src/main/java/org/springframework/jms/core/MessageCreator.java +++ b/spring-jms/src/main/java/org/springframework/jms/core/MessageCreator.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -35,6 +35,7 @@ import javax.jms.Session; * @author Mark Pollack * @since 1.1 */ +@FunctionalInterface public interface MessageCreator { /** diff --git a/spring-jms/src/main/java/org/springframework/jms/core/ProducerCallback.java b/spring-jms/src/main/java/org/springframework/jms/core/ProducerCallback.java index 6297b67983e..af787263c71 100644 --- a/spring-jms/src/main/java/org/springframework/jms/core/ProducerCallback.java +++ b/spring-jms/src/main/java/org/springframework/jms/core/ProducerCallback.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2016 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. @@ -35,6 +35,7 @@ import javax.jms.Session; * @see JmsTemplate#execute(javax.jms.Destination, ProducerCallback) * @see JmsTemplate#execute(String, ProducerCallback) */ +@FunctionalInterface public interface ProducerCallback { /** diff --git a/spring-jms/src/main/java/org/springframework/jms/core/SessionCallback.java b/spring-jms/src/main/java/org/springframework/jms/core/SessionCallback.java index 77c57614e2b..e81728e5af8 100644 --- a/spring-jms/src/main/java/org/springframework/jms/core/SessionCallback.java +++ b/spring-jms/src/main/java/org/springframework/jms/core/SessionCallback.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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,6 +30,7 @@ import javax.jms.Session; * @since 1.1 * @see JmsTemplate#execute(SessionCallback) */ +@FunctionalInterface public interface SessionCallback { /** diff --git a/spring-jms/src/main/java/org/springframework/jms/listener/SessionAwareMessageListener.java b/spring-jms/src/main/java/org/springframework/jms/listener/SessionAwareMessageListener.java index 15a39df9226..c0946db2591 100644 --- a/spring-jms/src/main/java/org/springframework/jms/listener/SessionAwareMessageListener.java +++ b/spring-jms/src/main/java/org/springframework/jms/listener/SessionAwareMessageListener.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -41,6 +41,7 @@ import javax.jms.Session; * @see org.springframework.jms.listener.endpoint.JmsMessageEndpointManager * @see javax.jms.MessageListener */ +@FunctionalInterface public interface SessionAwareMessageListener { /** diff --git a/spring-jms/src/main/java/org/springframework/jms/support/destination/DestinationResolver.java b/spring-jms/src/main/java/org/springframework/jms/support/destination/DestinationResolver.java index cd32ceae941..4a0d2cde4ed 100644 --- a/spring-jms/src/main/java/org/springframework/jms/support/destination/DestinationResolver.java +++ b/spring-jms/src/main/java/org/springframework/jms/support/destination/DestinationResolver.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -38,6 +38,7 @@ import javax.jms.Session; * @see org.springframework.jms.support.destination.DynamicDestinationResolver * @see org.springframework.jms.support.destination.JndiDestinationResolver */ +@FunctionalInterface public interface DestinationResolver { /** diff --git a/spring-messaging/src/main/java/org/springframework/messaging/MessageHandler.java b/spring-messaging/src/main/java/org/springframework/messaging/MessageHandler.java index d5ed9adbd36..ac2a3ebbb4f 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/MessageHandler.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/MessageHandler.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2016 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. @@ -23,6 +23,7 @@ package org.springframework.messaging; * @author Iwein Fuld * @since 4.0 */ +@FunctionalInterface public interface MessageHandler { /** diff --git a/spring-messaging/src/main/java/org/springframework/messaging/converter/ContentTypeResolver.java b/spring-messaging/src/main/java/org/springframework/messaging/converter/ContentTypeResolver.java index f9fe42fe6e8..afd7b7002c3 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/converter/ContentTypeResolver.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/converter/ContentTypeResolver.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2016 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. @@ -25,6 +25,7 @@ import org.springframework.util.MimeType; * @author Rossen Stoyanchev * @since 4.0 */ +@FunctionalInterface public interface ContentTypeResolver { /** diff --git a/spring-messaging/src/main/java/org/springframework/messaging/core/DestinationResolver.java b/spring-messaging/src/main/java/org/springframework/messaging/core/DestinationResolver.java index 2521c05f6cc..bd50b234cf3 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/core/DestinationResolver.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/core/DestinationResolver.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2016 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. @@ -23,6 +23,7 @@ package org.springframework.messaging.core; * @author Mark Fisher * @since 4.0 */ +@FunctionalInterface public interface DestinationResolver { /** diff --git a/spring-messaging/src/main/java/org/springframework/messaging/simp/user/SimpSubscriptionMatcher.java b/spring-messaging/src/main/java/org/springframework/messaging/simp/user/SimpSubscriptionMatcher.java index 97261db047a..8f1fc3d8480 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/simp/user/SimpSubscriptionMatcher.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/simp/user/SimpSubscriptionMatcher.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2015 the original author or authors. + * Copyright 2002-2016 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. @@ -22,6 +22,7 @@ package org.springframework.messaging.simp.user; * @author Rossen Stoyanchev * @since 4.2 */ +@FunctionalInterface public interface SimpSubscriptionMatcher { /** diff --git a/spring-messaging/src/main/java/org/springframework/messaging/simp/user/UserDestinationResolver.java b/spring-messaging/src/main/java/org/springframework/messaging/simp/user/UserDestinationResolver.java index 2354c05f314..722067611a5 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/simp/user/UserDestinationResolver.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/simp/user/UserDestinationResolver.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2015 the original author or authors. + * Copyright 2002-2016 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. @@ -34,6 +34,7 @@ import org.springframework.messaging.Message; * @see org.springframework.messaging.simp.user.DefaultUserDestinationResolver * @see UserDestinationMessageHandler */ +@FunctionalInterface public interface UserDestinationResolver { /** diff --git a/spring-messaging/src/main/java/org/springframework/messaging/tcp/ReconnectStrategy.java b/spring-messaging/src/main/java/org/springframework/messaging/tcp/ReconnectStrategy.java index daa23943068..54f2f69661b 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/tcp/ReconnectStrategy.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/tcp/ReconnectStrategy.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2016 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. @@ -23,6 +23,7 @@ package org.springframework.messaging.tcp; * @author Rossen Stoyanchev * @since 4.0 */ +@FunctionalInterface public interface ReconnectStrategy { /** diff --git a/spring-orm/src/main/java/org/springframework/orm/hibernate5/HibernateCallback.java b/spring-orm/src/main/java/org/springframework/orm/hibernate5/HibernateCallback.java index 54cee881520..d9a836db6d6 100644 --- a/spring-orm/src/main/java/org/springframework/orm/hibernate5/HibernateCallback.java +++ b/spring-orm/src/main/java/org/springframework/orm/hibernate5/HibernateCallback.java @@ -30,6 +30,7 @@ import org.hibernate.Session; * @see HibernateTemplate * @see HibernateTransactionManager */ +@FunctionalInterface public interface HibernateCallback { /** diff --git a/spring-test/src/main/java/org/springframework/test/context/ActiveProfilesResolver.java b/spring-test/src/main/java/org/springframework/test/context/ActiveProfilesResolver.java index dfefe7d3cb3..bb8efd78f89 100644 --- a/spring-test/src/main/java/org/springframework/test/context/ActiveProfilesResolver.java +++ b/spring-test/src/main/java/org/springframework/test/context/ActiveProfilesResolver.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2016 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. @@ -32,6 +32,7 @@ package org.springframework.test.context; * @since 4.0 * @see ActiveProfiles */ +@FunctionalInterface public interface ActiveProfilesResolver { /** diff --git a/spring-test/src/main/java/org/springframework/test/web/client/RequestMatcher.java b/spring-test/src/main/java/org/springframework/test/web/client/RequestMatcher.java index 14237729aad..84d53039c00 100644 --- a/spring-test/src/main/java/org/springframework/test/web/client/RequestMatcher.java +++ b/spring-test/src/main/java/org/springframework/test/web/client/RequestMatcher.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2015 the original author or authors. + * Copyright 2002-2016 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. @@ -29,6 +29,7 @@ import org.springframework.http.client.ClientHttpRequest; * @author Craig Walls * @since 3.2 */ +@FunctionalInterface public interface RequestMatcher { /** diff --git a/spring-test/src/main/java/org/springframework/test/web/client/ResponseCreator.java b/spring-test/src/main/java/org/springframework/test/web/client/ResponseCreator.java index d7703bc95a5..4b6098a4bcf 100644 --- a/spring-test/src/main/java/org/springframework/test/web/client/ResponseCreator.java +++ b/spring-test/src/main/java/org/springframework/test/web/client/ResponseCreator.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2015 the original author or authors. + * Copyright 2002-2016 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. @@ -29,6 +29,7 @@ import org.springframework.test.web.client.response.MockRestResponseCreators; * @author Craig Walls * @since 3.2 */ +@FunctionalInterface public interface ResponseCreator { /** diff --git a/spring-test/src/main/java/org/springframework/test/web/servlet/ResultHandler.java b/spring-test/src/main/java/org/springframework/test/web/servlet/ResultHandler.java index ea21c16c4b5..cdb6806b803 100644 --- a/spring-test/src/main/java/org/springframework/test/web/servlet/ResultHandler.java +++ b/spring-test/src/main/java/org/springframework/test/web/servlet/ResultHandler.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2015 the original author or authors. + * Copyright 2002-2016 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. @@ -44,6 +44,7 @@ package org.springframework.test.web.servlet; * @author Sam Brannen * @since 3.2 */ +@FunctionalInterface public interface ResultHandler { /** diff --git a/spring-test/src/main/java/org/springframework/test/web/servlet/ResultMatcher.java b/spring-test/src/main/java/org/springframework/test/web/servlet/ResultMatcher.java index f781ba19c08..332019fb822 100644 --- a/spring-test/src/main/java/org/springframework/test/web/servlet/ResultMatcher.java +++ b/spring-test/src/main/java/org/springframework/test/web/servlet/ResultMatcher.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2015 the original author or authors. + * Copyright 2002-2016 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. @@ -46,6 +46,7 @@ package org.springframework.test.web.servlet; * @author Sam Brannen * @since 3.2 */ +@FunctionalInterface public interface ResultMatcher { /** diff --git a/spring-test/src/main/java/org/springframework/test/web/servlet/htmlunit/WebRequestMatcher.java b/spring-test/src/main/java/org/springframework/test/web/servlet/htmlunit/WebRequestMatcher.java index 9f34a449de7..5b122ab9028 100644 --- a/spring-test/src/main/java/org/springframework/test/web/servlet/htmlunit/WebRequestMatcher.java +++ b/spring-test/src/main/java/org/springframework/test/web/servlet/htmlunit/WebRequestMatcher.java @@ -26,6 +26,7 @@ import com.gargoylesoftware.htmlunit.WebRequest; * @see org.springframework.test.web.servlet.htmlunit.HostRequestMatcher * @see org.springframework.test.web.servlet.htmlunit.UrlRegexRequestMatcher */ +@FunctionalInterface public interface WebRequestMatcher { /** diff --git a/spring-test/src/main/java/org/springframework/test/web/servlet/request/RequestPostProcessor.java b/spring-test/src/main/java/org/springframework/test/web/servlet/request/RequestPostProcessor.java index f531fc07f4f..4dacd88254b 100644 --- a/spring-test/src/main/java/org/springframework/test/web/servlet/request/RequestPostProcessor.java +++ b/spring-test/src/main/java/org/springframework/test/web/servlet/request/RequestPostProcessor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2016 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. @@ -32,6 +32,7 @@ import org.springframework.mock.web.MockHttpServletRequest; * @author Rob Winch * @since 3.2 */ +@FunctionalInterface public interface RequestPostProcessor { /** diff --git a/spring-tx/src/main/java/org/springframework/dao/support/PersistenceExceptionTranslator.java b/spring-tx/src/main/java/org/springframework/dao/support/PersistenceExceptionTranslator.java index 128b2b15cc0..e8351de2303 100644 --- a/spring-tx/src/main/java/org/springframework/dao/support/PersistenceExceptionTranslator.java +++ b/spring-tx/src/main/java/org/springframework/dao/support/PersistenceExceptionTranslator.java @@ -30,6 +30,7 @@ import org.springframework.dao.DataAccessException; * @author Juergen Hoeller * @since 2.0 */ +@FunctionalInterface public interface PersistenceExceptionTranslator { /** diff --git a/spring-tx/src/main/java/org/springframework/jca/cci/core/ConnectionCallback.java b/spring-tx/src/main/java/org/springframework/jca/cci/core/ConnectionCallback.java index 3be2710f15c..3729b682e1a 100644 --- a/spring-tx/src/main/java/org/springframework/jca/cci/core/ConnectionCallback.java +++ b/spring-tx/src/main/java/org/springframework/jca/cci/core/ConnectionCallback.java @@ -40,6 +40,7 @@ import org.springframework.dao.DataAccessException; * @see CciTemplate#execute(javax.resource.cci.InteractionSpec, javax.resource.cci.Record) * @see CciTemplate#execute(javax.resource.cci.InteractionSpec, RecordCreator, RecordExtractor) */ +@FunctionalInterface public interface ConnectionCallback { /** diff --git a/spring-tx/src/main/java/org/springframework/jca/cci/core/InteractionCallback.java b/spring-tx/src/main/java/org/springframework/jca/cci/core/InteractionCallback.java index 38db29348d5..d480ca71152 100644 --- a/spring-tx/src/main/java/org/springframework/jca/cci/core/InteractionCallback.java +++ b/spring-tx/src/main/java/org/springframework/jca/cci/core/InteractionCallback.java @@ -41,6 +41,7 @@ import org.springframework.dao.DataAccessException; * @see CciTemplate#execute(javax.resource.cci.InteractionSpec, javax.resource.cci.Record) * @see CciTemplate#execute(javax.resource.cci.InteractionSpec, RecordCreator, RecordExtractor) */ +@FunctionalInterface public interface InteractionCallback { /** diff --git a/spring-tx/src/main/java/org/springframework/jca/cci/core/RecordCreator.java b/spring-tx/src/main/java/org/springframework/jca/cci/core/RecordCreator.java index f19f6ac2c3d..ce0b57f9386 100644 --- a/spring-tx/src/main/java/org/springframework/jca/cci/core/RecordCreator.java +++ b/spring-tx/src/main/java/org/springframework/jca/cci/core/RecordCreator.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -45,6 +45,7 @@ import org.springframework.dao.DataAccessException; * @see CciTemplate#createMappedRecord(String) * @see CciTemplate#setOutputRecordCreator(RecordCreator) */ +@FunctionalInterface public interface RecordCreator { /** diff --git a/spring-tx/src/main/java/org/springframework/jca/cci/core/RecordExtractor.java b/spring-tx/src/main/java/org/springframework/jca/cci/core/RecordExtractor.java index 277d8a3cd18..058689707db 100644 --- a/spring-tx/src/main/java/org/springframework/jca/cci/core/RecordExtractor.java +++ b/spring-tx/src/main/java/org/springframework/jca/cci/core/RecordExtractor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -42,6 +42,7 @@ import org.springframework.dao.DataAccessException; * @see CciTemplate#execute(javax.resource.cci.InteractionSpec, RecordCreator, RecordExtractor) * @see javax.resource.cci.ResultSet */ +@FunctionalInterface public interface RecordExtractor { /** diff --git a/spring-tx/src/main/java/org/springframework/transaction/interceptor/TransactionAspectSupport.java b/spring-tx/src/main/java/org/springframework/transaction/interceptor/TransactionAspectSupport.java index 9eef0e03b23..7795d922107 100644 --- a/spring-tx/src/main/java/org/springframework/transaction/interceptor/TransactionAspectSupport.java +++ b/spring-tx/src/main/java/org/springframework/transaction/interceptor/TransactionAspectSupport.java @@ -630,6 +630,7 @@ public abstract class TransactionAspectSupport implements BeanFactoryAware, Init * Simple callback interface for proceeding with the target invocation. * Concrete interceptors/aspects adapt this to their invocation mechanism. */ + @FunctionalInterface protected interface InvocationCallback { Object proceedWithInvocation() throws Throwable; diff --git a/spring-tx/src/main/java/org/springframework/transaction/support/TransactionCallback.java b/spring-tx/src/main/java/org/springframework/transaction/support/TransactionCallback.java index 80e8bde72a1..8e298d00811 100644 --- a/spring-tx/src/main/java/org/springframework/transaction/support/TransactionCallback.java +++ b/spring-tx/src/main/java/org/springframework/transaction/support/TransactionCallback.java @@ -32,6 +32,7 @@ import org.springframework.transaction.TransactionStatus; * @see TransactionTemplate * @see CallbackPreferringPlatformTransactionManager */ +@FunctionalInterface public interface TransactionCallback { /** diff --git a/spring-web/src/main/java/org/springframework/http/StreamingHttpOutputMessage.java b/spring-web/src/main/java/org/springframework/http/StreamingHttpOutputMessage.java index 66facbb588c..abe13051bfa 100644 --- a/spring-web/src/main/java/org/springframework/http/StreamingHttpOutputMessage.java +++ b/spring-web/src/main/java/org/springframework/http/StreamingHttpOutputMessage.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2015 the original author or authors. + * Copyright 2002-2016 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. @@ -41,6 +41,7 @@ public interface StreamingHttpOutputMessage extends HttpOutputMessage { * It is useful with HTTP client libraries that provide indirect access to an * {@link OutputStream} via a callback mechanism. */ + @FunctionalInterface interface Body { /** diff --git a/spring-web/src/main/java/org/springframework/http/client/ClientHttpRequestExecution.java b/spring-web/src/main/java/org/springframework/http/client/ClientHttpRequestExecution.java index df6e10c6f0e..d3568341223 100644 --- a/spring-web/src/main/java/org/springframework/http/client/ClientHttpRequestExecution.java +++ b/spring-web/src/main/java/org/springframework/http/client/ClientHttpRequestExecution.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2011 the original author or authors. + * Copyright 2002-2016 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,6 +30,7 @@ import org.springframework.http.HttpRequest; * @see ClientHttpRequestInterceptor * @since 3.1 */ +@FunctionalInterface public interface ClientHttpRequestExecution { /** diff --git a/spring-web/src/main/java/org/springframework/http/client/ClientHttpRequestFactory.java b/spring-web/src/main/java/org/springframework/http/client/ClientHttpRequestFactory.java index 4a2a502e1a8..9ca49a8da42 100644 --- a/spring-web/src/main/java/org/springframework/http/client/ClientHttpRequestFactory.java +++ b/spring-web/src/main/java/org/springframework/http/client/ClientHttpRequestFactory.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2009 the original author or authors. + * Copyright 2002-2016 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. @@ -28,6 +28,7 @@ import org.springframework.http.HttpMethod; * @author Arjen Poutsma * @since 3.0 */ +@FunctionalInterface public interface ClientHttpRequestFactory { /** diff --git a/spring-web/src/main/java/org/springframework/http/client/ClientHttpRequestInterceptor.java b/spring-web/src/main/java/org/springframework/http/client/ClientHttpRequestInterceptor.java index 410cdeb2ff6..4788d879d81 100644 --- a/spring-web/src/main/java/org/springframework/http/client/ClientHttpRequestInterceptor.java +++ b/spring-web/src/main/java/org/springframework/http/client/ClientHttpRequestInterceptor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 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. @@ -31,6 +31,7 @@ import org.springframework.http.HttpRequest; * @author Arjen Poutsma * @since 3.1 */ +@FunctionalInterface public interface ClientHttpRequestInterceptor { /** diff --git a/spring-web/src/main/java/org/springframework/remoting/httpinvoker/HttpInvokerRequestExecutor.java b/spring-web/src/main/java/org/springframework/remoting/httpinvoker/HttpInvokerRequestExecutor.java index 433edd83105..24afc47a543 100644 --- a/spring-web/src/main/java/org/springframework/remoting/httpinvoker/HttpInvokerRequestExecutor.java +++ b/spring-web/src/main/java/org/springframework/remoting/httpinvoker/HttpInvokerRequestExecutor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2015 the original author or authors. + * Copyright 2002-2016 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. @@ -41,6 +41,7 @@ import org.springframework.remoting.support.RemoteInvocationResult; * @since 1.1 * @see HttpInvokerClientInterceptor#setHttpInvokerRequestExecutor */ +@FunctionalInterface public interface HttpInvokerRequestExecutor { /** diff --git a/spring-web/src/main/java/org/springframework/web/HttpRequestHandler.java b/spring-web/src/main/java/org/springframework/web/HttpRequestHandler.java index 2e259e93861..ac173879a68 100644 --- a/spring-web/src/main/java/org/springframework/web/HttpRequestHandler.java +++ b/spring-web/src/main/java/org/springframework/web/HttpRequestHandler.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2016 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. @@ -74,6 +74,7 @@ import javax.servlet.http.HttpServletResponse; * @see org.springframework.remoting.caucho.HessianServiceExporter * @see org.springframework.remoting.caucho.BurlapServiceExporter */ +@FunctionalInterface public interface HttpRequestHandler { /** diff --git a/spring-web/src/main/java/org/springframework/web/accept/ContentNegotiationStrategy.java b/spring-web/src/main/java/org/springframework/web/accept/ContentNegotiationStrategy.java index 586485a72a2..6f998e73c4c 100644 --- a/spring-web/src/main/java/org/springframework/web/accept/ContentNegotiationStrategy.java +++ b/spring-web/src/main/java/org/springframework/web/accept/ContentNegotiationStrategy.java @@ -28,6 +28,7 @@ import org.springframework.web.context.request.NativeWebRequest; * @author Rossen Stoyanchev * @since 3.2 */ +@FunctionalInterface public interface ContentNegotiationStrategy { /** diff --git a/spring-web/src/main/java/org/springframework/web/bind/support/WebArgumentResolver.java b/spring-web/src/main/java/org/springframework/web/bind/support/WebArgumentResolver.java index 4fcc9c2e0b5..5887d32c41e 100644 --- a/spring-web/src/main/java/org/springframework/web/bind/support/WebArgumentResolver.java +++ b/spring-web/src/main/java/org/springframework/web/bind/support/WebArgumentResolver.java @@ -41,6 +41,7 @@ import org.springframework.web.context.request.NativeWebRequest; * @since 2.5.2 * @see org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter#setCustomArgumentResolvers */ +@FunctionalInterface public interface WebArgumentResolver { /** diff --git a/spring-web/src/main/java/org/springframework/web/client/AsyncRequestCallback.java b/spring-web/src/main/java/org/springframework/web/client/AsyncRequestCallback.java index 4a9840ef596..5dae560cbe2 100644 --- a/spring-web/src/main/java/org/springframework/web/client/AsyncRequestCallback.java +++ b/spring-web/src/main/java/org/springframework/web/client/AsyncRequestCallback.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2016 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,6 +30,7 @@ import org.springframework.http.client.AsyncClientHttpRequest; * @see org.springframework.web.client.AsyncRestTemplate#execute * @since 4.0 */ +@FunctionalInterface public interface AsyncRequestCallback { /** diff --git a/spring-web/src/main/java/org/springframework/web/client/RequestCallback.java b/spring-web/src/main/java/org/springframework/web/client/RequestCallback.java index a6474a73093..9c4f3dff2d6 100644 --- a/spring-web/src/main/java/org/springframework/web/client/RequestCallback.java +++ b/spring-web/src/main/java/org/springframework/web/client/RequestCallback.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2009 the original author or authors. + * Copyright 2002-2016 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,6 +30,7 @@ import org.springframework.http.client.ClientHttpRequest; * @see RestTemplate#execute * @since 3.0 */ +@FunctionalInterface public interface RequestCallback { /** diff --git a/spring-web/src/main/java/org/springframework/web/client/ResponseExtractor.java b/spring-web/src/main/java/org/springframework/web/client/ResponseExtractor.java index 2a0d9f6e455..143fb6925f2 100644 --- a/spring-web/src/main/java/org/springframework/web/client/ResponseExtractor.java +++ b/spring-web/src/main/java/org/springframework/web/client/ResponseExtractor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2009 the original author or authors. + * Copyright 2002-2016 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. @@ -32,6 +32,7 @@ import org.springframework.http.client.ClientHttpResponse; * @since 3.0 * @see RestTemplate#execute */ +@FunctionalInterface public interface ResponseExtractor { /** diff --git a/spring-web/src/main/java/org/springframework/web/context/request/async/DeferredResult.java b/spring-web/src/main/java/org/springframework/web/context/request/async/DeferredResult.java index 5ce98714913..dc72b00cb3a 100644 --- a/spring-web/src/main/java/org/springframework/web/context/request/async/DeferredResult.java +++ b/spring-web/src/main/java/org/springframework/web/context/request/async/DeferredResult.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2015 the original author or authors. + * Copyright 2002-2016 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. @@ -243,6 +243,7 @@ public class DeferredResult { /** * Handles a DeferredResult value when set. */ + @FunctionalInterface public interface DeferredResultHandler { void handleResult(Object result); diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/handler/HandlerMethodMappingNamingStrategy.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/handler/HandlerMethodMappingNamingStrategy.java index f764b182b57..fb38cd5f27c 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/handler/HandlerMethodMappingNamingStrategy.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/handler/HandlerMethodMappingNamingStrategy.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2016 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. @@ -37,6 +37,7 @@ import org.springframework.web.method.HandlerMethod; * @author Rossen Stoyanchev * @since 4.1 */ +@FunctionalInterface public interface HandlerMethodMappingNamingStrategy { /** diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/Controller.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/Controller.java index 702ab7ccd9c..f4f6bc88d77 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/Controller.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/Controller.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2016 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. @@ -106,6 +106,7 @@ import org.springframework.web.servlet.ModelAndView; * @see org.springframework.web.context.ServletContextAware * @see org.springframework.web.context.support.WebApplicationObjectSupport */ +@FunctionalInterface public interface Controller { /** diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ResponseBodyEmitterAdapter.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ResponseBodyEmitterAdapter.java index fc827cc20a5..da1e91ca0d8 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ResponseBodyEmitterAdapter.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ResponseBodyEmitterAdapter.java @@ -24,6 +24,7 @@ import org.springframework.http.server.ServerHttpResponse; * @author Rossen Stoyanchev * @since 4.3 */ +@FunctionalInterface public interface ResponseBodyEmitterAdapter { /** diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/StreamingResponseBody.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/StreamingResponseBody.java index a3a4240c205..a75a135a307 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/StreamingResponseBody.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/StreamingResponseBody.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2015 the original author or authors. + * Copyright 2002-2016 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. @@ -35,6 +35,7 @@ import java.io.OutputStream; * @author Rossen Stoyanchev * @since 4.2 */ +@FunctionalInterface public interface StreamingResponseBody { /** diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/AppCacheManifestTransformer.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/AppCacheManifestTransformer.java index aa07717842d..7e0e0591646 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/AppCacheManifestTransformer.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/AppCacheManifestTransformer.java @@ -143,7 +143,8 @@ public class AppCacheManifestTransformer extends ResourceTransformerSupport { } - private static interface SectionTransformer { + @FunctionalInterface + private interface SectionTransformer { /** * Transforms a line in a section of the manifest. diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/CssLinkResourceTransformer.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/CssLinkResourceTransformer.java index b0fc201c19d..e335c76e68a 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/CssLinkResourceTransformer.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/CssLinkResourceTransformer.java @@ -128,7 +128,8 @@ public class CssLinkResourceTransformer extends ResourceTransformerSupport { } - protected static interface CssLinkParser { + @FunctionalInterface + protected interface CssLinkParser { void parseLink(String content, Set linkInfos); diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/ResourceTransformer.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/ResourceTransformer.java index fe941d830bf..a9e2a7346b5 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/ResourceTransformer.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/ResourceTransformer.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2015 the original author or authors. + * Copyright 2002-2016 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. @@ -28,6 +28,7 @@ import org.springframework.core.io.Resource; * @author Rossen Stoyanchev * @since 4.1 */ +@FunctionalInterface public interface ResourceTransformer { /**