You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by se...@apache.org on 2018/05/18 08:08:25 UTC

[5/5] flink git commit: [FLINK-9392] [core] Add @FunctionalInterface to all core functions to guard against breaking SAM mechanics

[FLINK-9392] [core] Add @FunctionalInterface to all core functions to guard against breaking SAM mechanics


Project: http://git-wip-us.apache.org/repos/asf/flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/fafef15e
Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/fafef15e
Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/fafef15e

Branch: refs/heads/master
Commit: fafef15eaca1f4277ac1dddb018a8e01eca22817
Parents: 9644df7
Author: Stephan Ewen <se...@apache.org>
Authored: Thu May 17 17:07:51 2018 +0200
Committer: Stephan Ewen <se...@apache.org>
Committed: Fri May 18 10:05:39 2018 +0200

----------------------------------------------------------------------
 .../flink/api/common/functions/BroadcastVariableInitializer.java    | 1 +
 .../java/org/apache/flink/api/common/functions/CoGroupFunction.java | 1 +
 .../java/org/apache/flink/api/common/functions/CombineFunction.java | 1 +
 .../java/org/apache/flink/api/common/functions/CrossFunction.java   | 1 +
 .../java/org/apache/flink/api/common/functions/FilterFunction.java  | 1 +
 .../org/apache/flink/api/common/functions/FlatJoinFunction.java     | 1 +
 .../java/org/apache/flink/api/common/functions/FlatMapFunction.java | 1 +
 .../java/org/apache/flink/api/common/functions/FoldFunction.java    | 1 +
 .../org/apache/flink/api/common/functions/GroupCombineFunction.java | 1 +
 .../org/apache/flink/api/common/functions/GroupReduceFunction.java  | 1 +
 .../java/org/apache/flink/api/common/functions/JoinFunction.java    | 1 +
 .../java/org/apache/flink/api/common/functions/MapFunction.java     | 1 +
 .../org/apache/flink/api/common/functions/MapPartitionFunction.java | 1 +
 .../java/org/apache/flink/api/common/functions/Partitioner.java     | 1 +
 .../java/org/apache/flink/api/common/functions/ReduceFunction.java  | 1 +
 15 files changed, 15 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink/blob/fafef15e/flink-core/src/main/java/org/apache/flink/api/common/functions/BroadcastVariableInitializer.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/common/functions/BroadcastVariableInitializer.java b/flink-core/src/main/java/org/apache/flink/api/common/functions/BroadcastVariableInitializer.java
index 57cdf10..c7a9a73 100644
--- a/flink-core/src/main/java/org/apache/flink/api/common/functions/BroadcastVariableInitializer.java
+++ b/flink-core/src/main/java/org/apache/flink/api/common/functions/BroadcastVariableInitializer.java
@@ -70,6 +70,7 @@ import org.apache.flink.annotation.Public;
  * @param <O> The type of the transformed broadcast variable.
  */
 @Public
+@FunctionalInterface
 public interface BroadcastVariableInitializer<T, O> {
 
 	/**

http://git-wip-us.apache.org/repos/asf/flink/blob/fafef15e/flink-core/src/main/java/org/apache/flink/api/common/functions/CoGroupFunction.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/common/functions/CoGroupFunction.java b/flink-core/src/main/java/org/apache/flink/api/common/functions/CoGroupFunction.java
index ec083aa..a2a53a2 100644
--- a/flink-core/src/main/java/org/apache/flink/api/common/functions/CoGroupFunction.java
+++ b/flink-core/src/main/java/org/apache/flink/api/common/functions/CoGroupFunction.java
@@ -46,6 +46,7 @@ import java.io.Serializable;
  * @param <O> The data type of the returned elements.
  */
 @Public
+@FunctionalInterface
 public interface CoGroupFunction<IN1, IN2, O> extends Function, Serializable {
 
 	/**

http://git-wip-us.apache.org/repos/asf/flink/blob/fafef15e/flink-core/src/main/java/org/apache/flink/api/common/functions/CombineFunction.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/common/functions/CombineFunction.java b/flink-core/src/main/java/org/apache/flink/api/common/functions/CombineFunction.java
index 4ff90d1..4215b6c 100644
--- a/flink-core/src/main/java/org/apache/flink/api/common/functions/CombineFunction.java
+++ b/flink-core/src/main/java/org/apache/flink/api/common/functions/CombineFunction.java
@@ -37,6 +37,7 @@ import java.io.Serializable;
  * @param <OUT> The data type emitted by the combine function.
  */
 @Public
+@FunctionalInterface
 public interface CombineFunction<IN, OUT> extends Function, Serializable {
 
 	/**

http://git-wip-us.apache.org/repos/asf/flink/blob/fafef15e/flink-core/src/main/java/org/apache/flink/api/common/functions/CrossFunction.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/common/functions/CrossFunction.java b/flink-core/src/main/java/org/apache/flink/api/common/functions/CrossFunction.java
index f4dbe82..ac34061 100644
--- a/flink-core/src/main/java/org/apache/flink/api/common/functions/CrossFunction.java
+++ b/flink-core/src/main/java/org/apache/flink/api/common/functions/CrossFunction.java
@@ -44,6 +44,7 @@ import java.io.Serializable;
  * @param <OUT> The type of the result elements.
  */
 @Public
+@FunctionalInterface
 public interface CrossFunction<IN1, IN2, OUT> extends Function, Serializable {
 
 	/**

http://git-wip-us.apache.org/repos/asf/flink/blob/fafef15e/flink-core/src/main/java/org/apache/flink/api/common/functions/FilterFunction.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/common/functions/FilterFunction.java b/flink-core/src/main/java/org/apache/flink/api/common/functions/FilterFunction.java
index a97715a..e24a492 100644
--- a/flink-core/src/main/java/org/apache/flink/api/common/functions/FilterFunction.java
+++ b/flink-core/src/main/java/org/apache/flink/api/common/functions/FilterFunction.java
@@ -40,6 +40,7 @@ import java.io.Serializable;
  * @param <T> The type of the filtered elements.
  */
 @Public
+@FunctionalInterface
 public interface FilterFunction<T> extends Function, Serializable {
 
 	/**

http://git-wip-us.apache.org/repos/asf/flink/blob/fafef15e/flink-core/src/main/java/org/apache/flink/api/common/functions/FlatJoinFunction.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/common/functions/FlatJoinFunction.java b/flink-core/src/main/java/org/apache/flink/api/common/functions/FlatJoinFunction.java
index f6ae8b3..e8bb85b 100644
--- a/flink-core/src/main/java/org/apache/flink/api/common/functions/FlatJoinFunction.java
+++ b/flink-core/src/main/java/org/apache/flink/api/common/functions/FlatJoinFunction.java
@@ -55,6 +55,7 @@ import java.io.Serializable;
  * @param <OUT> The type of the result elements.
  */
 @Public
+@FunctionalInterface
 public interface FlatJoinFunction<IN1, IN2, OUT> extends Function, Serializable {
 
 	/**

http://git-wip-us.apache.org/repos/asf/flink/blob/fafef15e/flink-core/src/main/java/org/apache/flink/api/common/functions/FlatMapFunction.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/common/functions/FlatMapFunction.java b/flink-core/src/main/java/org/apache/flink/api/common/functions/FlatMapFunction.java
index a5211e7..e6895d4 100644
--- a/flink-core/src/main/java/org/apache/flink/api/common/functions/FlatMapFunction.java
+++ b/flink-core/src/main/java/org/apache/flink/api/common/functions/FlatMapFunction.java
@@ -40,6 +40,7 @@ import java.io.Serializable;
  * @param <O> Type of the returned elements.
  */
 @Public
+@FunctionalInterface
 public interface FlatMapFunction<T, O> extends Function, Serializable {
 
 	/**

http://git-wip-us.apache.org/repos/asf/flink/blob/fafef15e/flink-core/src/main/java/org/apache/flink/api/common/functions/FoldFunction.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/common/functions/FoldFunction.java b/flink-core/src/main/java/org/apache/flink/api/common/functions/FoldFunction.java
index 5e41fdb..9588ce0 100644
--- a/flink-core/src/main/java/org/apache/flink/api/common/functions/FoldFunction.java
+++ b/flink-core/src/main/java/org/apache/flink/api/common/functions/FoldFunction.java
@@ -43,6 +43,7 @@ import java.io.Serializable;
  */
 @Public
 @Deprecated
+@FunctionalInterface
 public interface FoldFunction<O, T> extends Function, Serializable {
 
 	/**

http://git-wip-us.apache.org/repos/asf/flink/blob/fafef15e/flink-core/src/main/java/org/apache/flink/api/common/functions/GroupCombineFunction.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/common/functions/GroupCombineFunction.java b/flink-core/src/main/java/org/apache/flink/api/common/functions/GroupCombineFunction.java
index 0294506..c2357a5 100644
--- a/flink-core/src/main/java/org/apache/flink/api/common/functions/GroupCombineFunction.java
+++ b/flink-core/src/main/java/org/apache/flink/api/common/functions/GroupCombineFunction.java
@@ -38,6 +38,7 @@ import java.io.Serializable;
  * @param <OUT> The data type emitted by the combine function.
  */
 @Public
+@FunctionalInterface
 public interface GroupCombineFunction<IN, OUT> extends Function, Serializable {
 
 	/**

http://git-wip-us.apache.org/repos/asf/flink/blob/fafef15e/flink-core/src/main/java/org/apache/flink/api/common/functions/GroupReduceFunction.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/common/functions/GroupReduceFunction.java b/flink-core/src/main/java/org/apache/flink/api/common/functions/GroupReduceFunction.java
index 7d0dc46..f502ee6 100644
--- a/flink-core/src/main/java/org/apache/flink/api/common/functions/GroupReduceFunction.java
+++ b/flink-core/src/main/java/org/apache/flink/api/common/functions/GroupReduceFunction.java
@@ -48,6 +48,7 @@ import java.io.Serializable;
  * @param <O> The type of the elements returned by the user-defined function.
  */
 @Public
+@FunctionalInterface
 public interface GroupReduceFunction<T, O> extends Function, Serializable {
 
 	/**

http://git-wip-us.apache.org/repos/asf/flink/blob/fafef15e/flink-core/src/main/java/org/apache/flink/api/common/functions/JoinFunction.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/common/functions/JoinFunction.java b/flink-core/src/main/java/org/apache/flink/api/common/functions/JoinFunction.java
index 25f2cc6..cc29183 100644
--- a/flink-core/src/main/java/org/apache/flink/api/common/functions/JoinFunction.java
+++ b/flink-core/src/main/java/org/apache/flink/api/common/functions/JoinFunction.java
@@ -51,6 +51,7 @@ import java.io.Serializable;
  * @param <OUT> The type of the result elements.
  */
 @Public
+@FunctionalInterface
 public interface JoinFunction<IN1, IN2, OUT> extends Function, Serializable {
 
 	/**

http://git-wip-us.apache.org/repos/asf/flink/blob/fafef15e/flink-core/src/main/java/org/apache/flink/api/common/functions/MapFunction.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/common/functions/MapFunction.java b/flink-core/src/main/java/org/apache/flink/api/common/functions/MapFunction.java
index 1017ab2..a5fe178 100644
--- a/flink-core/src/main/java/org/apache/flink/api/common/functions/MapFunction.java
+++ b/flink-core/src/main/java/org/apache/flink/api/common/functions/MapFunction.java
@@ -40,6 +40,7 @@ import java.io.Serializable;
  * @param <O> Type of the returned elements.
  */
 @Public
+@FunctionalInterface
 public interface MapFunction<T, O> extends Function, Serializable {
 
 	/**

http://git-wip-us.apache.org/repos/asf/flink/blob/fafef15e/flink-core/src/main/java/org/apache/flink/api/common/functions/MapPartitionFunction.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/common/functions/MapPartitionFunction.java b/flink-core/src/main/java/org/apache/flink/api/common/functions/MapPartitionFunction.java
index c72c2d1..effa069 100644
--- a/flink-core/src/main/java/org/apache/flink/api/common/functions/MapPartitionFunction.java
+++ b/flink-core/src/main/java/org/apache/flink/api/common/functions/MapPartitionFunction.java
@@ -42,6 +42,7 @@ import java.io.Serializable;
  * @param <O> Type of the returned elements.
  */
 @Public
+@FunctionalInterface
 public interface MapPartitionFunction<T, O> extends Function, Serializable {
 
 	/**

http://git-wip-us.apache.org/repos/asf/flink/blob/fafef15e/flink-core/src/main/java/org/apache/flink/api/common/functions/Partitioner.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/common/functions/Partitioner.java b/flink-core/src/main/java/org/apache/flink/api/common/functions/Partitioner.java
index c272d3a..5fc968b 100644
--- a/flink-core/src/main/java/org/apache/flink/api/common/functions/Partitioner.java
+++ b/flink-core/src/main/java/org/apache/flink/api/common/functions/Partitioner.java
@@ -26,6 +26,7 @@ import org.apache.flink.annotation.Public;
  * @param <K> The type of the key to be partitioned.
  */
 @Public
+@FunctionalInterface
 public interface Partitioner<K> extends java.io.Serializable, Function {
 
 	/**

http://git-wip-us.apache.org/repos/asf/flink/blob/fafef15e/flink-core/src/main/java/org/apache/flink/api/common/functions/ReduceFunction.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/common/functions/ReduceFunction.java b/flink-core/src/main/java/org/apache/flink/api/common/functions/ReduceFunction.java
index 76f2e49..2ad9c74 100644
--- a/flink-core/src/main/java/org/apache/flink/api/common/functions/ReduceFunction.java
+++ b/flink-core/src/main/java/org/apache/flink/api/common/functions/ReduceFunction.java
@@ -45,6 +45,7 @@ import java.io.Serializable;
  * @param <T> Type of the elements that this function processes.
  */
 @Public
+@FunctionalInterface
 public interface ReduceFunction<T> extends Function, Serializable {
 
 	/**