import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
import org.opendaylight.yangtools.yang.data.api.schema.MapNode;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
+import org.opendaylight.yangtools.yang.data.api.schema.OrderedMapNode;
+import org.opendaylight.yangtools.yang.data.api.schema.UnkeyedListNode;
import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.CollectionNodeBuilder;
import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeBuilder;
import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableChoiceNodeBuilder;
import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableLeafNodeBuilder;
import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableMapEntryNodeBuilder;
import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableMapNodeBuilder;
+import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableOrderedMapNodeBuilder;
+import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableUnkeyedListNodeBuilder;
import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
import org.opendaylight.yangtools.yang.model.api.SchemaContext;
return ImmutableMapNodeBuilder.create().withNodeIdentifier(name);
}
+ /**
+ * Create an immutable map node.
+ *
+ * @param name QName which will be used as node identifier
+ * @return An unordered Map node
+ */
+ public static MapNode mapNode(final QName name) {
+ return mapNodeBuilder(name).build();
+ }
+
+ private static CollectionNodeBuilder<MapEntryNode, OrderedMapNode> orderedMapNodeBuilder(final QName qname) {
+ return orderedMapNodeBuilder().withNodeIdentifier(NodeIdentifier.create(qname));
+ }
+
+ private static CollectionNodeBuilder<MapEntryNode, OrderedMapNode> orderedMapNodeBuilder() {
+ return ImmutableOrderedMapNodeBuilder.create();
+ }
+
+ /**
+ * Create immutable ordered map node.
+ *
+ * @param name QName which will be used as node identifier
+ * @return An ordered Map node
+ */
+ public static OrderedMapNode orderedMapNode(final QName name) {
+ return orderedMapNodeBuilder(name).build();
+ }
+
/**
* Construct immutable leaf node.
*
return mapEntryBuilder(nodeName, keyName, keyValue).build();
}
+ /**
+ * Create an immutable container node.
+ *
+ * @param name QName which will be used as node identifier
+ * @return A container node
+ */
public static ContainerNode containerNode(final QName name) {
return ImmutableContainerNodeBuilder.create().withNodeIdentifier(NodeIdentifier.create(name)).build();
}
+ /**
+ * Create an immutable choice node.
+ *
+ * @param name QName which will be used as node identifier
+ * @return A choice node
+ */
public static ChoiceNode choiceNode(final QName name) {
return ImmutableChoiceNodeBuilder.create().withNodeIdentifier(NodeIdentifier.create(name)).build();
}
+ /**
+ * Create an immutable list node.
+ *
+ * @param name QName which will be used as node identifier
+ * @return An unkeyed list node
+ */
+ public static UnkeyedListNode listNode(final QName name) {
+ return ImmutableUnkeyedListNodeBuilder.create().withNodeIdentifier(NodeIdentifier.create(name)).build();
+ }
+
/**
* Convert YangInstanceIdentifier into a normalized node structure.
*