Rework NormalizedNodeStreamWriter
[yangtools.git] / yang / yang-data-api / src / main / java / org / opendaylight / yangtools / yang / data / api / schema / stream / LoggingNormalizedNodeStreamWriter.java
index 2ea9cc83417325fcbfa9bea2ae0b78138d4cefff..f1f02d89761b7ef31056150517e59c8530de06ad 100644 (file)
@@ -7,15 +7,17 @@
  */
 package org.opendaylight.yangtools.yang.data.api.schema.stream;
 
+import static java.util.Objects.requireNonNull;
+
 import com.google.common.annotations.Beta;
 import com.google.common.base.Strings;
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.util.ArrayDeque;
 import java.util.Deque;
-import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -65,7 +67,7 @@ public final class LoggingNormalizedNodeStreamWriter implements NormalizedNodeSt
 
     @Override
     public void startOrderedMapNode(final NodeIdentifier name, final int childSizeHint) {
-
+        startMapNode(name, childSizeHint);
     }
 
     @Override
@@ -88,8 +90,7 @@ public final class LoggingNormalizedNodeStreamWriter implements NormalizedNodeSt
 
     @Override
     public void startOrderedLeafSet(final NodeIdentifier name, final int childSizeHint) {
-        LOG.debug("{}{}(leaf-list)", ind(), name);
-        incIndent();
+        startLeafSet(name, childSizeHint);
     }
 
     @Override
@@ -111,18 +112,15 @@ public final class LoggingNormalizedNodeStreamWriter implements NormalizedNodeSt
     }
 
     @Override
-    @SuppressFBWarnings("SLF4J_SIGN_ONLY_FORMAT")
-    public void leafSetEntryNode(final QName name, final Object value) {
-        LOG.debug("{}{}({}) ", ind(), value, value.getClass().getSimpleName());
+    public void startLeafSetEntryNode(final NodeWithValue<?> name) {
+        LOG.debug("{}{}(entry}", ind(), name.getNodeType());
+        incIndent();
     }
 
     @Override
-    public void leafNode(final NodeIdentifier name, final Object value) {
-        if (value == null) {
-            LOG.debug("{}{}(leaf(null))=null", ind(), name);
-        } else {
-            LOG.debug("{}{}(leaf({}))={}", ind(), name, value.getClass().getSimpleName(), value);
-        }
+    public void startLeafNode(final NodeIdentifier name) {
+        LOG.debug("{}{}(leaf)", ind(), name);
+        incIndent();
     }
 
     @Override
@@ -132,8 +130,9 @@ public final class LoggingNormalizedNodeStreamWriter implements NormalizedNodeSt
     }
 
     @Override
-    public void anyxmlNode(final NodeIdentifier name, final Object value) {
-        LOG.debug("{}{}(anyxml)={}", ind(), name, value);
+    public void startAnyxmlNode(final NodeIdentifier name) {
+        LOG.debug("{}{}(anyxml)", ind(), name);
+        incIndent();
     }
 
     @Override
@@ -151,4 +150,10 @@ public final class LoggingNormalizedNodeStreamWriter implements NormalizedNodeSt
     public void close() {
         LOG.debug("<<END-OF-STREAM>>");
     }
-}
\ No newline at end of file
+
+    @Override
+    @SuppressFBWarnings("SLF4J_SIGN_ONLY_FORMAT")
+    public void nodeValue(final Object value) {
+        LOG.debug("{}({})={}", ind(), requireNonNull(value).getClass().getSimpleName(), value);
+    }
+}