Add AbstractRegistration.notClosed() 69/88169/1
authorRobert Varga <robert.varga@pantheon.tech>
Sat, 29 Feb 2020 11:17:07 +0000 (12:17 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Sat, 29 Feb 2020 15:43:19 +0000 (16:43 +0100)
This is a utility method useful for stream integration.

Change-Id: I6408cc25a1a10f010fc4f42ee83d50db31ca8bfa
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
common/concepts/src/main/java/org/opendaylight/yangtools/concepts/AbstractRegistration.java

index 7f43bc9f4b588fb4ac2b6a4705ff18e568c5f3dd..ae2677b0e2b5d363fe7c578dde448579907cfe2e 100644 (file)
@@ -38,7 +38,7 @@ public abstract class AbstractRegistration implements Registration {
     protected abstract void removeRegistration();
 
     /**
-     * Query the state of this registration. Returns true if it was closed.
+     * Query the state of this registration. Returns true if it was closed. Equivalent of {@code !notClosed()}.
      *
      * @return true if the registration was closed, false otherwise.
      */
@@ -46,6 +46,15 @@ public abstract class AbstractRegistration implements Registration {
         return (byte) CLOSED.getAcquire(this) != 0;
     }
 
+    /**
+     * Query the state of this registration. Returns false if it was closed. Equivalent of {@code !isClosed()}.
+     *
+     * @return false if the registration was closed, true otherwise.
+     */
+    public final boolean notClosed() {
+        return (byte) CLOSED.getAcquire(this) == 0;
+    }
+
     @Override
     public final void close() {
         // We want full setVolatile() memory semantics here, as all state before calling this method