import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode;
import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
+import org.opendaylight.yangtools.yang.model.api.SchemaContext;
import org.w3c.dom.Element;
public final class DomToNormalizedNodeParserFactory implements ToNormalizedNodeParserFactory<Element> {
private final UnkeyedListEntryNodeDomParser unkeyedListEntryNodeParser;
private final UnkeyedListNodeDomParser unkeyedListNodeParser;
private final OrderedListNodeDomParser orderedListNodeParser;
+ private final AnyXmlDomParser anyXmlNodeParser;
+ private DomToNormalizedNodeParserFactory(final XmlCodecProvider codecProvider, final SchemaContext schema) {
+ leafNodeParser = new LeafNodeDomParser(codecProvider, schema);
+ leafSetEntryNodeParser = new LeafSetEntryNodeDomParser(codecProvider, schema);
+ leafSetNodeParser = new LeafSetNodeDomParser(leafSetEntryNodeParser);
+ anyXmlNodeParser = new AnyXmlDomParser();
+
+ final NodeParserDispatcher<Element> dispatcher = new NodeParserDispatcher.BaseNodeParserDispatcher<Element>(this) {
+
+ };
+
+ containerNodeParser = new ContainerNodeDomParser(dispatcher);
+ mapEntryNodeParser = new MapEntryNodeDomParser(dispatcher);
+ mapNodeParser = new MapNodeDomParser(mapEntryNodeParser);
+ orderedListNodeParser = new OrderedListNodeDomParser(mapEntryNodeParser);
+ unkeyedListEntryNodeParser = new UnkeyedListEntryNodeDomParser(dispatcher);
+ unkeyedListNodeParser = new UnkeyedListNodeDomParser(unkeyedListEntryNodeParser);
+ choiceNodeParser = new ChoiceNodeDomParser(dispatcher);
+ augmentationNodeParser = new AugmentationNodeDomParser(dispatcher);
+ }
+
+ @Deprecated
private DomToNormalizedNodeParserFactory(final XmlCodecProvider codecProvider) {
leafNodeParser = new LeafNodeDomParser(codecProvider);
leafSetEntryNodeParser = new LeafSetEntryNodeDomParser(codecProvider);
leafSetNodeParser = new LeafSetNodeDomParser(leafSetEntryNodeParser);
+ anyXmlNodeParser = new AnyXmlDomParser();
final NodeParserDispatcher<Element> dispatcher = new NodeParserDispatcher.BaseNodeParserDispatcher<Element>(this) {
augmentationNodeParser = new AugmentationNodeDomParser(dispatcher);
}
+ public static DomToNormalizedNodeParserFactory getInstance(final XmlCodecProvider codecProvider, final SchemaContext schema) {
+ return new DomToNormalizedNodeParserFactory(codecProvider, schema);
+ }
+
+ @Deprecated
public static DomToNormalizedNodeParserFactory getInstance(final XmlCodecProvider codecProvider) {
return new DomToNormalizedNodeParserFactory(codecProvider);
}
@Override
public ToNormalizedNodeParser<Element, AnyXmlNode, AnyXmlSchemaNode> getAnyXmlNodeParser() {
- throw new UnsupportedOperationException();
+ return anyXmlNodeParser;
}
}