Guarantee non-null in CodecDataObject.codecKey() 89/89589/2
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 4 May 2020 13:49:50 +0000 (15:49 +0200)
committerRobert Varga <nite@hq.sk>
Mon, 4 May 2020 18:59:37 +0000 (18:59 +0000)
The key loaded is guaranteed to be non-null, propagate that
annotation outwards.

Change-Id: If6bf3f4a7d5cabd760da603abb9038bb1e665b37
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CodecDataObject.java

index d075bfb64aeb93830075020d6e1fe5413c6004d8..2847153da8d14ae397ca0d24cc67f7860560eff6 100644 (file)
@@ -103,7 +103,7 @@ public abstract class CodecDataObject<T extends DataObject> implements DataObjec
         return cached != null ? unmaskNull(cached) : loadMember(handle, supplier.get());
     }
 
-    protected final Object codecKey(final VarHandle handle) {
+    protected final @NonNull Object codecKey(final VarHandle handle) {
         final Object cached = handle.getAcquire(this);
         return cached != null ? cached : loadKey(handle);
     }
@@ -151,7 +151,7 @@ public abstract class CodecDataObject<T extends DataObject> implements DataObjec
     }
 
     // Helper split out of codecKey to aid its inlining
-    private Object loadKey(final VarHandle handle) {
+    private @NonNull Object loadKey(final VarHandle handle) {
         verify(data instanceof MapEntryNode, "Unsupported value %s", data);
         verify(context instanceof KeyedListNodeCodecContext, "Unexpected context %s", context);
         final Object obj = ((KeyedListNodeCodecContext<?>) context).deserialize(((MapEntryNode) data).getIdentifier());