2 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.yangtools.yang.data.composite.node.schema.cnsn.serializer;
10 import com.google.common.base.Preconditions;
11 import java.util.Collections;
12 import java.util.List;
13 import org.opendaylight.yangtools.yang.data.api.Node;
14 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
15 import org.opendaylight.yangtools.yang.data.impl.ImmutableCompositeNode;
16 import org.opendaylight.yangtools.yang.data.impl.schema.transform.base.serializer.ContainerNodeBaseSerializer;
17 import org.opendaylight.yangtools.yang.data.impl.schema.transform.base.serializer.NodeSerializerDispatcher;
18 import org.opendaylight.yangtools.yang.data.impl.util.CompositeNodeBuilder;
19 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
21 public class ContainerNodeCnSnSerializer extends ContainerNodeBaseSerializer<Node<?>> {
23 private final NodeSerializerDispatcher<Node<?>> dispatcher;
25 ContainerNodeCnSnSerializer(final NodeSerializerDispatcher<Node<?>> dispatcher) {
26 this.dispatcher = Preconditions.checkNotNull(dispatcher);
30 public List<Node<?>> serialize(final ContainerSchemaNode schema, final ContainerNode node) {
31 CompositeNodeBuilder<ImmutableCompositeNode> compNodeBuilder = ImmutableCompositeNode.builder();
32 compNodeBuilder.setQName(node.getNodeType());
33 compNodeBuilder.addAll(super.serialize(schema, node));
34 return Collections.<Node<?>> singletonList(compNodeBuilder.toInstance());
38 protected NodeSerializerDispatcher<Node<?>> getNodeDispatcher() {