package org.opendaylight.yangtools.yang.data.impl.schema;
import com.google.common.base.Preconditions;
+
+import java.io.IOException;
import java.util.ArrayDeque;
import java.util.Deque;
import java.util.List;
+
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;
*/
public class ImmutableNormalizedNodeStreamWriter implements NormalizedNodeStreamWriter {
-
-
@SuppressWarnings("rawtypes")
- private final Deque<NormalizedNodeContainerBuilder> builders;
-
+ private final Deque<NormalizedNodeContainerBuilder> builders = new ArrayDeque<>();
@SuppressWarnings("rawtypes")
private ImmutableNormalizedNodeStreamWriter( final NormalizedNodeContainerBuilder topLevelBuilder) {
- builders = new ArrayDeque<>();
builders.push(topLevelBuilder);
}
@Override
public void startMapEntryNode(final NodeIdentifierWithPredicates identifier,final int childSizeHint) throws IllegalArgumentException {
if(!(getCurrent() instanceof NormalizedNodeResultBuilder)) {
- Preconditions.checkArgument(getCurrent() instanceof ImmutableMapNodeBuilder);
+ Preconditions.checkArgument(getCurrent() instanceof ImmutableMapNodeBuilder || getCurrent() instanceof ImmutableOrderedMapNodeBuilder);
}
enter(Builders.mapEntryBuilder().withNodeIdentifier(identifier));
}
@Override
public void startOrderedMapNode(final NodeIdentifier name,final int childSizeHint) throws IllegalArgumentException {
- if(!(getCurrent() instanceof NormalizedNodeResultBuilder)) {
- Preconditions.checkArgument(getCurrent() instanceof ImmutableOrderedMapNodeBuilder);
- }
- enter(Builders.mapBuilder().withNodeIdentifier(name));
+ checkDataNodeContainer();
+ enter(Builders.orderedMapBuilder().withNodeIdentifier(name));
}
@Override
}
+ @Override
+ public void flush() {
+ // no-op
+ }
+
+ @Override
+ public void close() throws IOException {
+ // TODO Auto-generated method stub
+
+ }
+
}