Propagate @Nonnull and @Nullable annotations
[yangtools.git] / yang / yang-data-impl / src / main / java / org / opendaylight / yangtools / yang / data / impl / schema / nodes / AbstractImmutableNormalizedValueNode.java
index beb797975cf696cf8189f69532c1d4a36909376b..7467d0632458f5eaaaafa121e7c16ff08550dbc8 100644 (file)
@@ -7,24 +7,31 @@
  */
 package org.opendaylight.yangtools.yang.data.impl.schema.nodes;
 
-import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
+import javax.annotation.Nullable;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public abstract class AbstractImmutableNormalizedValueNode<K extends YangInstanceIdentifier.PathArgument, V> extends
+public abstract class AbstractImmutableNormalizedValueNode<K extends PathArgument, V> extends
         AbstractImmutableNormalizedNode<K, V> {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(AbstractImmutableNormalizedValueNode.class);
+    @Nullable
     private final V value;
 
-    protected AbstractImmutableNormalizedValueNode(final K nodeIdentifier, final V value) {
+    protected AbstractImmutableNormalizedValueNode(final K nodeIdentifier, @Nullable final V value) {
         super(nodeIdentifier);
         if (value == null) {
-            LOGGER.warn("The value of node " + nodeIdentifier.getNodeType() + " is null");
+            /*
+             * Null value is allowed for empty type definition so it should be debug,
+             * but still we are logging it in case we need to debug missing values.
+             */
+            LOGGER.debug("The value of node {} is null",nodeIdentifier.getNodeType());
         }
         this.value = value;
     }
 
+    @Nullable
     @Override
     public final V getValue() {
         return value;