Modernize ExecuteInSelf{Actor,Message} 95/115895/1
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 17 Mar 2025 10:37:35 +0000 (11:37 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Mon, 17 Mar 2025 10:37:35 +0000 (11:37 +0100)
Use a record for ExecuteInSelfMessage and correct ExecuteInSelfActor's
documentation.

Change-Id: Id5039b4617c5776bdef4eb0a4f790469bc95dd57
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/common/actor/ExecuteInSelfActor.java
opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/common/actor/ExecuteInSelfMessage.java

index d25051a260cd0cd3758171c0aa4276c1953d179a..958a976994a5e9ddd077abe6d40b21e78e5b8255 100644 (file)
@@ -8,20 +8,19 @@
 package org.opendaylight.controller.cluster.common.actor;
 
 import com.google.common.annotations.Beta;
-import org.apache.pekko.japi.Procedure;
-import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.NonNullByDefault;
 
 /**
- * Interface implemented by Actors, who can schedule invocation of a {@link Procedure} in their context.
- *
- * @author Robert Varga
+ * Interface implemented by Actors, who can schedule invocation of a {@link Runnable} in their context.
  */
 @Beta
+@NonNullByDefault
+@FunctionalInterface
 public interface ExecuteInSelfActor {
     /**
      * Run a Runnable in the context of this actor.
      *
      * @param runnable Runnable to run
      */
-    void executeInSelf(@NonNull Runnable runnable);
+    void executeInSelf(Runnable runnable);
 }
index 800e94cc7c9519da7d231a8e59d34e3a8cae03c9..dc695d61caaeaa4d8155c6a170c5176bf45686d4 100644 (file)
@@ -10,18 +10,15 @@ package org.opendaylight.controller.cluster.common.actor;
 import static java.util.Objects.requireNonNull;
 
 import org.apache.pekko.dispatch.ControlMessage;
-import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.NonNullByDefault;
 
 /**
  * Message internal to {@link ExecuteInSelfActor} implementations in this package.
- *
- * @author Robert Varga
  */
-final class ExecuteInSelfMessage implements ControlMessage {
-    private final Runnable runnable;
-
-    ExecuteInSelfMessage(final @NonNull Runnable runnable) {
-        this.runnable = requireNonNull(runnable);
+@NonNullByDefault
+record ExecuteInSelfMessage(Runnable runnable) implements ControlMessage {
+    ExecuteInSelfMessage {
+        requireNonNull(runnable);
     }
 
     void run() {