From ae567a02f3c397225c818c7387cb49545a4d5b4a Mon Sep 17 00:00:00 2001
From: Aleksi Hietanen
Date: Mon, 12 Dec 2016 13:25:19 +0200
Subject: [PATCH] Add @FunctionalInterface annotation to interfaces where
applicable (#7954)
Closes vaadin/framework8-issues#548
---
.../com/vaadin/data/BinderValidationStatusHandler.java | 1 +
.../java/com/vaadin/data/ValidationStatusHandler.java | 1 +
server/src/main/java/com/vaadin/event/Action.java | 1 +
.../src/main/java/com/vaadin/event/ContextClickEvent.java | 1 +
server/src/main/java/com/vaadin/event/FieldEvents.java | 2 ++
server/src/main/java/com/vaadin/event/LayoutEvents.java | 1 +
server/src/main/java/com/vaadin/event/MouseEvents.java | 2 ++
server/src/main/java/com/vaadin/event/SortEvent.java | 1 +
server/src/main/java/com/vaadin/event/UIEvents.java | 1 +
.../vaadin/event/selection/MultiSelectionListener.java | 1 +
.../src/main/java/com/vaadin/navigator/ViewDisplay.java | 1 +
.../src/main/java/com/vaadin/server/ClientConnector.java | 2 ++
server/src/main/java/com/vaadin/server/ErrorHandler.java | 1 +
server/src/main/java/com/vaadin/server/Page.java | 3 +++
.../src/main/java/com/vaadin/server/RequestHandler.java | 1 +
.../java/com/vaadin/server/ServiceDestroyListener.java | 1 +
.../java/com/vaadin/server/SessionDestroyListener.java | 1 +
.../main/java/com/vaadin/server/SessionInitListener.java | 1 +
.../src/main/java/com/vaadin/server/StreamResource.java | 1 +
.../java/com/vaadin/server/SystemMessagesProvider.java | 1 +
.../java/com/vaadin/server/VaadinServiceInitListener.java | 1 +
.../main/java/com/vaadin/server/ViewportGenerator.java | 1 +
.../java/com/vaadin/server/data/DataProviderListener.java | 1 +
.../src/main/java/com/vaadin/ui/AbstractSplitPanel.java | 2 ++
server/src/main/java/com/vaadin/ui/Button.java | 2 +-
server/src/main/java/com/vaadin/ui/HasComponents.java | 2 ++
.../src/main/java/com/vaadin/ui/JavaScriptFunction.java | 1 +
server/src/main/java/com/vaadin/ui/LoginForm.java | 1 +
server/src/main/java/com/vaadin/ui/MenuBar.java | 1 +
server/src/main/java/com/vaadin/ui/PopupView.java | 1 +
server/src/main/java/com/vaadin/ui/TabSheet.java | 2 ++
server/src/main/java/com/vaadin/ui/UI.java | 1 +
server/src/main/java/com/vaadin/ui/Upload.java | 8 +++++++-
server/src/main/java/com/vaadin/ui/Window.java | 4 ++++
.../java/com/vaadin/ui/declarative/DesignContext.java | 1 +
.../vaadin/ui/declarative/ShouldWriteDataDelegate.java | 1 +
.../java/com/vaadin/ui/renderers/ClickableRenderer.java | 1 +
37 files changed, 54 insertions(+), 2 deletions(-)
diff --git a/server/src/main/java/com/vaadin/data/BinderValidationStatusHandler.java b/server/src/main/java/com/vaadin/data/BinderValidationStatusHandler.java
index 1f3a95688b..81a622bbd4 100644
--- a/server/src/main/java/com/vaadin/data/BinderValidationStatusHandler.java
+++ b/server/src/main/java/com/vaadin/data/BinderValidationStatusHandler.java
@@ -44,6 +44,7 @@ import com.vaadin.ui.AbstractComponent;
*
* @since 8.0
*/
+@FunctionalInterface
public interface BinderValidationStatusHandler
extends Consumer>, Serializable {
diff --git a/server/src/main/java/com/vaadin/data/ValidationStatusHandler.java b/server/src/main/java/com/vaadin/data/ValidationStatusHandler.java
index 9cf20b92ea..f2170537f9 100644
--- a/server/src/main/java/com/vaadin/data/ValidationStatusHandler.java
+++ b/server/src/main/java/com/vaadin/data/ValidationStatusHandler.java
@@ -38,6 +38,7 @@ import com.vaadin.ui.AbstractComponent;
* @since 8.0
*
*/
+@FunctionalInterface
public interface ValidationStatusHandler
extends Consumer>, Serializable {
diff --git a/server/src/main/java/com/vaadin/event/Action.java b/server/src/main/java/com/vaadin/event/Action.java
index 49b8033417..b26dac14c9 100644
--- a/server/src/main/java/com/vaadin/event/Action.java
+++ b/server/src/main/java/com/vaadin/event/Action.java
@@ -90,6 +90,7 @@ public class Action implements Serializable {
* Action.Handler interface.
*
*/
+ @FunctionalInterface
public interface Listener extends Serializable {
public void handleAction(Object sender, Object target);
}
diff --git a/server/src/main/java/com/vaadin/event/ContextClickEvent.java b/server/src/main/java/com/vaadin/event/ContextClickEvent.java
index ecf53e2ba2..c1c779bd28 100644
--- a/server/src/main/java/com/vaadin/event/ContextClickEvent.java
+++ b/server/src/main/java/com/vaadin/event/ContextClickEvent.java
@@ -46,6 +46,7 @@ public class ContextClickEvent extends ClickEvent {
/**
* Listener for {@link ContextClickEvent ContextClickEvents}.
*/
+ @FunctionalInterface
public interface ContextClickListener extends Serializable {
/**
diff --git a/server/src/main/java/com/vaadin/event/FieldEvents.java b/server/src/main/java/com/vaadin/event/FieldEvents.java
index 4673318890..b5c45732f9 100644
--- a/server/src/main/java/com/vaadin/event/FieldEvents.java
+++ b/server/src/main/java/com/vaadin/event/FieldEvents.java
@@ -109,6 +109,7 @@ public interface FieldEvents {
* @see FocusEvent
* @since 6.2
*/
+ @FunctionalInterface
public interface FocusListener extends ConnectorEventListener {
public static final Method focusMethod = ReflectTools
@@ -149,6 +150,7 @@ public interface FieldEvents {
* @see BlurEvent
* @since 6.2
*/
+ @FunctionalInterface
public interface BlurListener extends ConnectorEventListener {
public static final Method blurMethod = ReflectTools
diff --git a/server/src/main/java/com/vaadin/event/LayoutEvents.java b/server/src/main/java/com/vaadin/event/LayoutEvents.java
index 627a9610ed..bc30981e51 100644
--- a/server/src/main/java/com/vaadin/event/LayoutEvents.java
+++ b/server/src/main/java/com/vaadin/event/LayoutEvents.java
@@ -28,6 +28,7 @@ import com.vaadin.util.ReflectTools;
public interface LayoutEvents {
+ @FunctionalInterface
public interface LayoutClickListener extends ConnectorEventListener {
public static final Method clickMethod = ReflectTools.findMethod(
diff --git a/server/src/main/java/com/vaadin/event/MouseEvents.java b/server/src/main/java/com/vaadin/event/MouseEvents.java
index e391ade401..ad807ec21e 100644
--- a/server/src/main/java/com/vaadin/event/MouseEvents.java
+++ b/server/src/main/java/com/vaadin/event/MouseEvents.java
@@ -192,6 +192,7 @@ public interface MouseEvents {
* @author Vaadin Ltd.
* @since 6.2
*/
+ @FunctionalInterface
public interface ClickListener extends ConnectorEventListener {
public static final Method clickMethod = ReflectTools
@@ -230,6 +231,7 @@ public interface MouseEvents {
* @author Vaadin Ltd.
* @since 6.2
*/
+ @FunctionalInterface
public interface DoubleClickListener extends ConnectorEventListener {
public static final Method doubleClickMethod = ReflectTools.findMethod(
diff --git a/server/src/main/java/com/vaadin/event/SortEvent.java b/server/src/main/java/com/vaadin/event/SortEvent.java
index 0bc6d4b2cf..c69daa695e 100644
--- a/server/src/main/java/com/vaadin/event/SortEvent.java
+++ b/server/src/main/java/com/vaadin/event/SortEvent.java
@@ -75,6 +75,7 @@ public class SortEvent extends Component.Event {
/**
* Listener for sort order change events.
*/
+ @FunctionalInterface
public interface SortListener extends Serializable {
/**
* Called when the sort order has changed.
diff --git a/server/src/main/java/com/vaadin/event/UIEvents.java b/server/src/main/java/com/vaadin/event/UIEvents.java
index 1f696e9d6c..5c91fe78a9 100644
--- a/server/src/main/java/com/vaadin/event/UIEvents.java
+++ b/server/src/main/java/com/vaadin/event/UIEvents.java
@@ -39,6 +39,7 @@ public interface UIEvents {
* @since 7.2
* @author Vaadin Ltd
*/
+ @FunctionalInterface
public interface PollListener extends Serializable {
public static final Method POLL_METHOD = ReflectTools
.findMethod(PollListener.class, "poll", PollEvent.class);
diff --git a/server/src/main/java/com/vaadin/event/selection/MultiSelectionListener.java b/server/src/main/java/com/vaadin/event/selection/MultiSelectionListener.java
index b7d7ae4b8b..d8b138f184 100644
--- a/server/src/main/java/com/vaadin/event/selection/MultiSelectionListener.java
+++ b/server/src/main/java/com/vaadin/event/selection/MultiSelectionListener.java
@@ -28,6 +28,7 @@ import java.util.function.Consumer;
* @param
* the data type of the selection model
*/
+@FunctionalInterface
public interface MultiSelectionListener
extends Consumer>, Serializable {
@Override
diff --git a/server/src/main/java/com/vaadin/navigator/ViewDisplay.java b/server/src/main/java/com/vaadin/navigator/ViewDisplay.java
index fd1c0247e1..291cc8e350 100644
--- a/server/src/main/java/com/vaadin/navigator/ViewDisplay.java
+++ b/server/src/main/java/com/vaadin/navigator/ViewDisplay.java
@@ -27,6 +27,7 @@ import java.io.Serializable;
* @author Vaadin Ltd
* @since 7.0
*/
+@FunctionalInterface
public interface ViewDisplay extends Serializable {
/**
* Remove previously shown view and show the newly selected view in its
diff --git a/server/src/main/java/com/vaadin/server/ClientConnector.java b/server/src/main/java/com/vaadin/server/ClientConnector.java
index b54a85029b..c2e96d9fc1 100644
--- a/server/src/main/java/com/vaadin/server/ClientConnector.java
+++ b/server/src/main/java/com/vaadin/server/ClientConnector.java
@@ -55,6 +55,7 @@ public interface ClientConnector extends Connector {
* Interface for listening {@link AttachEvent connector attach events}.
*
*/
+ @FunctionalInterface
public static interface AttachListener extends ConnectorEventListener {
public static final Method attachMethod = ReflectTools
.findMethod(AttachListener.class, "attach", AttachEvent.class);
@@ -83,6 +84,7 @@ public interface ClientConnector extends Connector {
* Interface for listening {@link DetachEvent connector detach events}.
*
*/
+ @FunctionalInterface
public static interface DetachListener extends ConnectorEventListener {
public static final Method detachMethod = ReflectTools
.findMethod(DetachListener.class, "detach", DetachEvent.class);
diff --git a/server/src/main/java/com/vaadin/server/ErrorHandler.java b/server/src/main/java/com/vaadin/server/ErrorHandler.java
index c82ce4e68e..0ea59917f8 100644
--- a/server/src/main/java/com/vaadin/server/ErrorHandler.java
+++ b/server/src/main/java/com/vaadin/server/ErrorHandler.java
@@ -20,6 +20,7 @@ import java.io.Serializable;
/**
* Interface for listening to errors in the application.
*/
+@FunctionalInterface
public interface ErrorHandler extends Serializable {
/**
diff --git a/server/src/main/java/com/vaadin/server/Page.java b/server/src/main/java/com/vaadin/server/Page.java
index faf64e3a3d..fb4f7384dc 100644
--- a/server/src/main/java/com/vaadin/server/Page.java
+++ b/server/src/main/java/com/vaadin/server/Page.java
@@ -49,6 +49,7 @@ public class Page implements Serializable {
*
* @see UI#addListener(BrowserWindowResizeListener)
*/
+ @FunctionalInterface
public interface BrowserWindowResizeListener extends Serializable {
/**
* Invoked when the browser window containing a UI has been resized.
@@ -251,6 +252,7 @@ public class Page implements Serializable {
*
* @see Page#addUriFragmentChangedListener(UriFragmentChangedListener)
*/
+ @FunctionalInterface
public interface UriFragmentChangedListener extends Serializable {
/**
* Event handler method invoked when the URI fragment of the page
@@ -326,6 +328,7 @@ public class Page implements Serializable {
}
}
+ @FunctionalInterface
private static interface InjectedStyle extends Serializable {
public void paint(int id, PaintTarget target) throws PaintException;
}
diff --git a/server/src/main/java/com/vaadin/server/RequestHandler.java b/server/src/main/java/com/vaadin/server/RequestHandler.java
index a3d53ccd67..bfcd392b0d 100644
--- a/server/src/main/java/com/vaadin/server/RequestHandler.java
+++ b/server/src/main/java/com/vaadin/server/RequestHandler.java
@@ -26,6 +26,7 @@ import com.vaadin.ui.UI;
* added on a {@link VaadinService service} level, common for all users, or on a
* {@link VaadinSession session} level for only a single user.
*/
+@FunctionalInterface
public interface RequestHandler extends Serializable {
/**
diff --git a/server/src/main/java/com/vaadin/server/ServiceDestroyListener.java b/server/src/main/java/com/vaadin/server/ServiceDestroyListener.java
index e34418652f..4ce74e28d0 100644
--- a/server/src/main/java/com/vaadin/server/ServiceDestroyListener.java
+++ b/server/src/main/java/com/vaadin/server/ServiceDestroyListener.java
@@ -28,6 +28,7 @@ import java.io.Serializable;
* @since 7.2
* @author Vaadin Ltd
*/
+@FunctionalInterface
public interface ServiceDestroyListener extends Serializable {
/**
* Invoked when a service is destroyed
diff --git a/server/src/main/java/com/vaadin/server/SessionDestroyListener.java b/server/src/main/java/com/vaadin/server/SessionDestroyListener.java
index 972216120d..43299bc510 100644
--- a/server/src/main/java/com/vaadin/server/SessionDestroyListener.java
+++ b/server/src/main/java/com/vaadin/server/SessionDestroyListener.java
@@ -27,6 +27,7 @@ import java.io.Serializable;
* @author Vaadin Ltd
* @since 7.0.0
*/
+@FunctionalInterface
public interface SessionDestroyListener extends Serializable {
/**
* Called when a Vaadin service session is no longer used.
diff --git a/server/src/main/java/com/vaadin/server/SessionInitListener.java b/server/src/main/java/com/vaadin/server/SessionInitListener.java
index 1a39df5c7d..c3e1910553 100644
--- a/server/src/main/java/com/vaadin/server/SessionInitListener.java
+++ b/server/src/main/java/com/vaadin/server/SessionInitListener.java
@@ -32,6 +32,7 @@ import java.io.Serializable;
* @author Vaadin Ltd
* @since 7.0.0
*/
+@FunctionalInterface
public interface SessionInitListener extends Serializable {
/**
* Invoked when a new Vaadin service session is initialized for that
diff --git a/server/src/main/java/com/vaadin/server/StreamResource.java b/server/src/main/java/com/vaadin/server/StreamResource.java
index 384090102d..6b8f36ba54 100644
--- a/server/src/main/java/com/vaadin/server/StreamResource.java
+++ b/server/src/main/java/com/vaadin/server/StreamResource.java
@@ -153,6 +153,7 @@ public class StreamResource implements ConnectorResource {
* @author Vaadin Ltd.
* @since 3.0
*/
+ @FunctionalInterface
public interface StreamSource extends Serializable {
/**
diff --git a/server/src/main/java/com/vaadin/server/SystemMessagesProvider.java b/server/src/main/java/com/vaadin/server/SystemMessagesProvider.java
index d425439ab6..8d062551f8 100644
--- a/server/src/main/java/com/vaadin/server/SystemMessagesProvider.java
+++ b/server/src/main/java/com/vaadin/server/SystemMessagesProvider.java
@@ -27,6 +27,7 @@ import com.vaadin.ui.UI;
* @author Vaadin Ltd
* @since 7.0.0
*/
+@FunctionalInterface
public interface SystemMessagesProvider extends Serializable {
/**
* Gets the system messages to use in the given context. The
diff --git a/server/src/main/java/com/vaadin/server/VaadinServiceInitListener.java b/server/src/main/java/com/vaadin/server/VaadinServiceInitListener.java
index 98959f0571..aa071636ed 100644
--- a/server/src/main/java/com/vaadin/server/VaadinServiceInitListener.java
+++ b/server/src/main/java/com/vaadin/server/VaadinServiceInitListener.java
@@ -36,6 +36,7 @@ import java.util.ServiceLoader;
* @since
* @author Vaadin Ltd
*/
+@FunctionalInterface
public interface VaadinServiceInitListener extends EventListener, Serializable {
/**
* Run when a {@link VaadinService} instance is initialized.
diff --git a/server/src/main/java/com/vaadin/server/ViewportGenerator.java b/server/src/main/java/com/vaadin/server/ViewportGenerator.java
index 6c1cc5e5eb..13cf29010a 100644
--- a/server/src/main/java/com/vaadin/server/ViewportGenerator.java
+++ b/server/src/main/java/com/vaadin/server/ViewportGenerator.java
@@ -26,6 +26,7 @@ import java.io.Serializable;
*
* @author Vaadin Ltd
*/
+@FunctionalInterface
public interface ViewportGenerator extends Serializable {
/**
* Generates a viewport tag based on a request.
diff --git a/server/src/main/java/com/vaadin/server/data/DataProviderListener.java b/server/src/main/java/com/vaadin/server/data/DataProviderListener.java
index 54ec2d1877..27bd781c4a 100644
--- a/server/src/main/java/com/vaadin/server/data/DataProviderListener.java
+++ b/server/src/main/java/com/vaadin/server/data/DataProviderListener.java
@@ -24,6 +24,7 @@ import java.io.Serializable;
* @author Vaadin Ltd
* @since 8.0
*/
+@FunctionalInterface
public interface DataProviderListener extends Serializable {
/**
diff --git a/server/src/main/java/com/vaadin/ui/AbstractSplitPanel.java b/server/src/main/java/com/vaadin/ui/AbstractSplitPanel.java
index 8fe762f2a9..593f350af5 100644
--- a/server/src/main/java/com/vaadin/ui/AbstractSplitPanel.java
+++ b/server/src/main/java/com/vaadin/ui/AbstractSplitPanel.java
@@ -503,6 +503,7 @@ public abstract class AbstractSplitPanel extends AbstractComponentContainer {
* @see SplitterClickEvent
* @since 6.2
*/
+ @FunctionalInterface
public interface SplitterClickListener extends ConnectorEventListener {
public static final Method clickMethod = ReflectTools.findMethod(
@@ -533,6 +534,7 @@ public abstract class AbstractSplitPanel extends AbstractComponentContainer {
*
* @since 7.5.0
*/
+ @FunctionalInterface
public interface SplitPositionChangeListener
extends ConnectorEventListener {
diff --git a/server/src/main/java/com/vaadin/ui/Button.java b/server/src/main/java/com/vaadin/ui/Button.java
index afa325ad1e..e57f8244ed 100644
--- a/server/src/main/java/com/vaadin/ui/Button.java
+++ b/server/src/main/java/com/vaadin/ui/Button.java
@@ -288,6 +288,7 @@ public class Button extends AbstractFocusable
* @author Vaadin Ltd.
* @since 3.0
*/
+ @FunctionalInterface
public interface ClickListener extends Serializable {
public static final Method BUTTON_CLICK_METHOD = ReflectTools
@@ -302,7 +303,6 @@ public class Button extends AbstractFocusable
* An event containing information about the click.
*/
public void buttonClick(ClickEvent event);
-
}
/**
diff --git a/server/src/main/java/com/vaadin/ui/HasComponents.java b/server/src/main/java/com/vaadin/ui/HasComponents.java
index 847a6fada2..3cd1910d83 100644
--- a/server/src/main/java/com/vaadin/ui/HasComponents.java
+++ b/server/src/main/java/com/vaadin/ui/HasComponents.java
@@ -92,6 +92,7 @@ public interface HasComponents extends Component, Iterable {
/**
* Component attach listener interface.
*/
+ @FunctionalInterface
public interface ComponentAttachListener extends Serializable {
public static final Method attachMethod = ReflectTools.findMethod(
@@ -110,6 +111,7 @@ public interface HasComponents extends Component, Iterable {
/**
* Component detach listener interface.
*/
+ @FunctionalInterface
public interface ComponentDetachListener extends Serializable {
public static final Method detachMethod = ReflectTools.findMethod(
diff --git a/server/src/main/java/com/vaadin/ui/JavaScriptFunction.java b/server/src/main/java/com/vaadin/ui/JavaScriptFunction.java
index cf0e033284..490dd15a7c 100644
--- a/server/src/main/java/com/vaadin/ui/JavaScriptFunction.java
+++ b/server/src/main/java/com/vaadin/ui/JavaScriptFunction.java
@@ -34,6 +34,7 @@ import elemental.json.JsonArray;
* @author Vaadin Ltd
* @since 7.0.0
*/
+@FunctionalInterface
public interface JavaScriptFunction extends Serializable {
/**
* Invoked whenever the corresponding JavaScript function is called in the
diff --git a/server/src/main/java/com/vaadin/ui/LoginForm.java b/server/src/main/java/com/vaadin/ui/LoginForm.java
index abef0c1276..6d477cf025 100644
--- a/server/src/main/java/com/vaadin/ui/LoginForm.java
+++ b/server/src/main/java/com/vaadin/ui/LoginForm.java
@@ -99,6 +99,7 @@ public class LoginForm extends AbstractSingleComponentContainer {
/**
* Listener triggered when a login occurs in a {@link LoginForm}.
*/
+ @FunctionalInterface
public interface LoginListener extends Serializable {
/**
* Event method invoked when the login button is pressed in a login
diff --git a/server/src/main/java/com/vaadin/ui/MenuBar.java b/server/src/main/java/com/vaadin/ui/MenuBar.java
index 5319df7e8b..b769ab42bf 100644
--- a/server/src/main/java/com/vaadin/ui/MenuBar.java
+++ b/server/src/main/java/com/vaadin/ui/MenuBar.java
@@ -434,6 +434,7 @@ public class MenuBar extends AbstractComponent
* clicks on the containing {@link com.vaadin.ui.MenuBar.MenuItem}. The
* selected item is given as an argument.
*/
+ @FunctionalInterface
public interface Command extends Serializable {
public void menuSelected(MenuBar.MenuItem selectedItem);
}
diff --git a/server/src/main/java/com/vaadin/ui/PopupView.java b/server/src/main/java/com/vaadin/ui/PopupView.java
index 30a9e52411..6d047dd723 100644
--- a/server/src/main/java/com/vaadin/ui/PopupView.java
+++ b/server/src/main/java/com/vaadin/ui/PopupView.java
@@ -399,6 +399,7 @@ public class PopupView extends AbstractComponent implements HasComponents {
* visibility of the popup changes.
*
*/
+ @FunctionalInterface
public interface PopupVisibilityListener extends Serializable {
/**
* Pass to {@link PopupView#PopupVisibilityEvent} to start listening for
diff --git a/server/src/main/java/com/vaadin/ui/TabSheet.java b/server/src/main/java/com/vaadin/ui/TabSheet.java
index 58d67edc16..a94925a263 100644
--- a/server/src/main/java/com/vaadin/ui/TabSheet.java
+++ b/server/src/main/java/com/vaadin/ui/TabSheet.java
@@ -809,6 +809,7 @@ public class TabSheet extends AbstractComponentContainer
*
* @since 3.0
*/
+ @FunctionalInterface
public interface SelectedTabChangeListener extends Serializable {
/**
@@ -1288,6 +1289,7 @@ public class TabSheet extends AbstractComponentContainer
* @since 6.2.0
*
*/
+ @FunctionalInterface
public interface CloseHandler extends Serializable {
/**
diff --git a/server/src/main/java/com/vaadin/ui/UI.java b/server/src/main/java/com/vaadin/ui/UI.java
index 8926ec6bd4..ad6a60d96d 100644
--- a/server/src/main/java/com/vaadin/ui/UI.java
+++ b/server/src/main/java/com/vaadin/ui/UI.java
@@ -1847,6 +1847,7 @@ public abstract class UI extends AbstractSingleComponentContainer
*
* @see Window.WindowOrderChangeEvent
*/
+ @FunctionalInterface
public interface WindowOrderUpdateListener extends ConnectorEventListener {
public static final Method windowOrderUpdateMethod = ReflectTools
diff --git a/server/src/main/java/com/vaadin/ui/Upload.java b/server/src/main/java/com/vaadin/ui/Upload.java
index e3105b73fc..866bc96d25 100644
--- a/server/src/main/java/com/vaadin/ui/Upload.java
+++ b/server/src/main/java/com/vaadin/ui/Upload.java
@@ -201,6 +201,7 @@ public class Upload extends AbstractComponent
* @author Vaadin Ltd.
* @since 3.0
*/
+ @FunctionalInterface
public interface Receiver extends Serializable {
/**
@@ -214,7 +215,6 @@ public class Upload extends AbstractComponent
* @return Stream to which the uploaded file should be written.
*/
public OutputStream receiveUpload(String filename, String mimeType);
-
}
/* Upload events */
@@ -544,6 +544,7 @@ public class Upload extends AbstractComponent
* @author Vaadin Ltd.
* @since 5.0
*/
+ @FunctionalInterface
public interface StartedListener extends Serializable {
/**
@@ -561,6 +562,7 @@ public class Upload extends AbstractComponent
* @author Vaadin Ltd.
* @since 3.0
*/
+ @FunctionalInterface
public interface FinishedListener extends Serializable {
/**
@@ -578,6 +580,7 @@ public class Upload extends AbstractComponent
* @author Vaadin Ltd.
* @since 3.0
*/
+ @FunctionalInterface
public interface FailedListener extends Serializable {
/**
@@ -595,6 +598,7 @@ public class Upload extends AbstractComponent
* @author Vaadin Ltd.
* @since 3.0
*/
+ @FunctionalInterface
public interface SucceededListener extends Serializable {
/**
@@ -611,6 +615,7 @@ public class Upload extends AbstractComponent
*
* @since 7.2
*/
+ @FunctionalInterface
public interface ChangeListener extends Serializable {
Method FILENAME_CHANGED = ReflectTools.findMethod(ChangeListener.class,
@@ -954,6 +959,7 @@ public class Upload extends AbstractComponent
/**
* ProgressListener receives events to track progress of upload.
*/
+ @FunctionalInterface
public interface ProgressListener extends Serializable {
/**
* Updates progress to listener
diff --git a/server/src/main/java/com/vaadin/ui/Window.java b/server/src/main/java/com/vaadin/ui/Window.java
index c3a66a6c18..f41ef41244 100644
--- a/server/src/main/java/com/vaadin/ui/Window.java
+++ b/server/src/main/java/com/vaadin/ui/Window.java
@@ -435,6 +435,7 @@ public class Window extends Panel
*
* @see UI.WindowOrderUpdateListener
*/
+ @FunctionalInterface
public interface WindowOrderChangeListener extends ConnectorEventListener {
public static final Method windowOrderChangeMethod = ReflectTools
@@ -495,6 +496,7 @@ public class Window extends Panel
* fires the CloseListener.
*
*/
+ @FunctionalInterface
public interface CloseListener extends Serializable {
/**
* Called when the user closes a window. Use
@@ -596,6 +598,7 @@ public class Window extends Panel
* will be called whenever the window is maximized (
* {@link WindowMode#MAXIMIZED}) or restored ({@link WindowMode#NORMAL} ).
*/
+ @FunctionalInterface
public interface WindowModeChangeListener extends Serializable {
public static final Method windowModeChangeMethod = ReflectTools
@@ -694,6 +697,7 @@ public class Window extends Panel
*
* @see com.vaadin.ui.Window.ResizeEvent
*/
+ @FunctionalInterface
public interface ResizeListener extends Serializable {
public void windowResized(ResizeEvent e);
}
diff --git a/server/src/main/java/com/vaadin/ui/declarative/DesignContext.java b/server/src/main/java/com/vaadin/ui/declarative/DesignContext.java
index 28004104cb..c52ccd4655 100644
--- a/server/src/main/java/com/vaadin/ui/declarative/DesignContext.java
+++ b/server/src/main/java/com/vaadin/ui/declarative/DesignContext.java
@@ -674,6 +674,7 @@ public class DesignContext implements Serializable {
*
* @author Vaadin Ltd
*/
+ @FunctionalInterface
public interface ComponentCreationListener extends Serializable {
/**
diff --git a/server/src/main/java/com/vaadin/ui/declarative/ShouldWriteDataDelegate.java b/server/src/main/java/com/vaadin/ui/declarative/ShouldWriteDataDelegate.java
index ed686f0f2b..6b58b29e8a 100644
--- a/server/src/main/java/com/vaadin/ui/declarative/ShouldWriteDataDelegate.java
+++ b/server/src/main/java/com/vaadin/ui/declarative/ShouldWriteDataDelegate.java
@@ -28,6 +28,7 @@ import com.vaadin.ui.Component;
* @since 7.5.0
* @author Vaadin Ltd
*/
+@FunctionalInterface
public interface ShouldWriteDataDelegate extends Serializable {
/**
diff --git a/server/src/main/java/com/vaadin/ui/renderers/ClickableRenderer.java b/server/src/main/java/com/vaadin/ui/renderers/ClickableRenderer.java
index 28a26620a8..a179f1aaa6 100644
--- a/server/src/main/java/com/vaadin/ui/renderers/ClickableRenderer.java
+++ b/server/src/main/java/com/vaadin/ui/renderers/ClickableRenderer.java
@@ -48,6 +48,7 @@ public abstract class ClickableRenderer extends AbstractRenderer {
*
* @see ButtonRenderer#addClickListener(RendererClickListener)
*/
+ @FunctionalInterface
public interface RendererClickListener extends ConnectorEventListener {
static final Method CLICK_METHOD = ReflectTools.findMethod(
--
2.39.5