/* * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.yangtools.yang.data.composite.node.schema.cnsn.serializer; import org.opendaylight.yangtools.yang.data.api.Node; import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode; import org.opendaylight.yangtools.yang.data.api.schema.AugmentationNode; import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.data.api.schema.LeafNode; import org.opendaylight.yangtools.yang.data.api.schema.LeafSetEntryNode; import org.opendaylight.yangtools.yang.data.api.schema.LeafSetNode; import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode; import org.opendaylight.yangtools.yang.data.api.schema.MapNode; import org.opendaylight.yangtools.yang.data.impl.schema.transform.FromNormalizedNodeSerializer; import org.opendaylight.yangtools.yang.data.impl.schema.transform.FromNormalizedNodeSerializerFactory; import org.opendaylight.yangtools.yang.data.impl.schema.transform.base.serializer.NodeSerializerDispatcher; import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode; import org.opendaylight.yangtools.yang.model.api.AugmentationSchema; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode; import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode; import org.opendaylight.yangtools.yang.model.api.ListSchemaNode; public final class CnSnFromNormalizedNodeSerializerFactory implements FromNormalizedNodeSerializerFactory> { private final ContainerNodeCnSnSerializer containerSerializer; private final ChoiceNodeCnSnSerializer choiceSerializer; private final AugmentationNodeCnSnSerializer augmentSerializer; private final LeafNodeCnSnSerializer leafNodeSerializer; private final LeafSetNodeCnSnSerializer leafSetSerializer; private final MapNodeCnSnSerializer mapNodeSerializer; private final LeafSetEntryNodeCnSnSerializer leafSetEntryNodeSerializer; private final MapEntryNodeCnSnSerializer mapEntryNodeSerializer; private final AnyXmlNodeCnSnSerializer anyXmlNodeSerializer; private CnSnFromNormalizedNodeSerializerFactory() { final NodeSerializerDispatcher.BaseNodeSerializerDispatcher> dispatcher = new NodeSerializerDispatcher.BaseNodeSerializerDispatcher>( this) { }; containerSerializer = new ContainerNodeCnSnSerializer(dispatcher); choiceSerializer = new ChoiceNodeCnSnSerializer(dispatcher); augmentSerializer = new AugmentationNodeCnSnSerializer(dispatcher); leafNodeSerializer = new LeafNodeCnSnSerializer(); anyXmlNodeSerializer = new AnyXmlNodeCnSnSerializer(); leafSetEntryNodeSerializer = new LeafSetEntryNodeCnSnSerializer(); leafSetSerializer = new LeafSetNodeCnSnSerializer(leafSetEntryNodeSerializer); mapEntryNodeSerializer = new MapEntryNodeCnSnSerializer(dispatcher); mapNodeSerializer = new MapNodeCnSnSerializer(mapEntryNodeSerializer); } public static CnSnFromNormalizedNodeSerializerFactory getInstance() { return new CnSnFromNormalizedNodeSerializerFactory(); } @Override public FromNormalizedNodeSerializer, ContainerNode, ContainerSchemaNode> getContainerNodeSerializer() { return containerSerializer; } @Override public FromNormalizedNodeSerializer, LeafNode, LeafSchemaNode> getLeafNodeSerializer() { return leafNodeSerializer; } @Override public FromNormalizedNodeSerializer, LeafSetNode, LeafListSchemaNode> getLeafSetNodeSerializer() { return leafSetSerializer; } @Override public FromNormalizedNodeSerializer, MapNode, ListSchemaNode> getMapNodeSerializer() { return mapNodeSerializer; } @Override public FromNormalizedNodeSerializer, ChoiceNode, org.opendaylight.yangtools.yang.model.api.ChoiceNode> getChoiceNodeSerializer() { return choiceSerializer; } @Override public FromNormalizedNodeSerializer, AugmentationNode, AugmentationSchema> getAugmentationNodeSerializer() { return augmentSerializer; } @Override public FromNormalizedNodeSerializer, LeafSetEntryNode, LeafListSchemaNode> getLeafSetEntryNodeSerializer() { return leafSetEntryNodeSerializer; } @Override public FromNormalizedNodeSerializer, MapEntryNode, ListSchemaNode> getMapEntryNodeSerializer() { return mapEntryNodeSerializer; } @Override public FromNormalizedNodeSerializer, AnyXmlNode, AnyXmlSchemaNode> getAnyXmlNodeSerializer() { return anyXmlNodeSerializer; } }