[ 
https://issues.apache.org/jira/browse/FLINK-9538?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16504352#comment-16504352
 ] 

ASF GitHub Bot commented on FLINK-9538:
---------------------------------------

Github user yanghua commented on a diff in the pull request:

    https://github.com/apache/flink/pull/6134#discussion_r193651829
  
    --- Diff: 
flink-runtime/src/main/java/org/apache/flink/runtime/state/KeyedStateFunction.java
 ---
    @@ -25,13 +25,13 @@
      * <p>This functionality is only available through the
      * {@code BroadcastConnectedStream.process(final 
KeyedBroadcastProcessFunction function)}.
      */
    -public abstract class KeyedStateFunction<K, S extends State> {
    +public interface KeyedStateFunction<K, S extends State> {
    --- End diff --
    
    @dawidwys can I change current usage like : 
    
    ```
    // valid state value via applyToAllKeys().
                        backend.applyToAllKeys(VoidNamespace.INSTANCE, 
VoidNamespaceSerializer.INSTANCE, listStateDescriptor,
                                new KeyedStateFunction<Integer, 
ListState<String>>() {
                                        @Override
                                        public void process(Integer key, 
ListState<String> state) throws Exception {
                                                assertEquals("Hello" + key, 
state.get().iterator().next());
                                        }
                                });
    
                        // clear state via applyToAllKeys().
                        backend.applyToAllKeys(VoidNamespace.INSTANCE, 
VoidNamespaceSerializer.INSTANCE, listStateDescriptor,
                                new KeyedStateFunction<Integer, 
ListState<String>>() {
                                        @Override
                                        public void process(Integer key, 
ListState<String> state) throws Exception {
                                                state.clear();
                                        }
                                });
    ```
    
    to lambda function style to verify the change?


> Make KeyedStateFunction an interface
> ------------------------------------
>
>                 Key: FLINK-9538
>                 URL: https://issues.apache.org/jira/browse/FLINK-9538
>             Project: Flink
>          Issue Type: Improvement
>            Reporter: Dawid Wysakowicz
>            Assignee: vinoyang
>            Priority: Major
>
> I suggest to change the KeyedStateFunction from abstract class to interface 
> (FunctionalInterface in particular) to enable passing lambdas.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to