Merge "Fix for Bug 934 - issue in validations for nuetronPort creation and updatePort"
[controller.git] / opendaylight / md-sal / sal-dom-broker / src / main / java / org / opendaylight / controller / md / sal / dom / store / impl / tree / data / InMemoryDataTreeFactory.java
1 package org.opendaylight.controller.md.sal.dom.store.impl.tree.data;
2
3 import org.opendaylight.controller.md.sal.dom.store.impl.tree.DataTreeFactory;
4 import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.NodeIdentifier;
5 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
6 import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
7 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
8
9 /**
10  * A factory for creating in-memory data trees.
11  */
12 public final class InMemoryDataTreeFactory implements DataTreeFactory {
13         private static final InMemoryDataTreeFactory INSTANCE = new InMemoryDataTreeFactory();
14
15         private InMemoryDataTreeFactory() {
16                 // Never instantiated externally
17         }
18
19         @Override
20         public InMemoryDataTree create() {
21                 final NodeIdentifier root = new NodeIdentifier(SchemaContext.NAME);
22                 final NormalizedNode<?, ?> data = Builders.containerBuilder().withNodeIdentifier(root).build();
23
24                 return new InMemoryDataTree(StoreMetadataNode.createEmpty(data), null);
25         }
26
27         /**
28          * Get an instance of this factory. This method cannot fail.
29          *
30          * @return Data tree factory instance.
31          */
32         public static final InMemoryDataTreeFactory getInstance() {
33                 return INSTANCE;
34         }
35 }