Populate data/ hierarchy
[yangtools.git] / data / yang-data-api / src / main / java / org / opendaylight / yangtools / yang / data / api / schema / LeafSetEntryNode.java
diff --git a/data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/LeafSetEntryNode.java b/data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/LeafSetEntryNode.java
new file mode 100644 (file)
index 0000000..d4db64b
--- /dev/null
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2014 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.api.schema;
+
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue;
+
+/**
+ * Leaf node with multiplicity 0...n. Leaf node has a value, but no child nodes in the data tree, schema for leaf node
+ * and its value is described by {@link org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode}.
+ *
+ * @param <T> Value type
+ */
+public interface LeafSetEntryNode<T> extends ValueNode<T> {
+    @Override
+    @SuppressWarnings("rawtypes")
+    default Class<LeafSetEntryNode> contract() {
+        return LeafSetEntryNode.class;
+    }
+
+    /**
+     * {@inheritDoc}
+     *
+     * <p>
+     * <b>Implementation note</b>
+     * Invocation of {@link NodeWithValue#getValue()} on returned instance of {@link NodeWithValue} must return the
+     * same value as invocation of {@code #body()}, such as following condition is always met:
+     * {@code true == this.getIdentifier().getValue().equals(this.body())}.
+     */
+    @Override
+    NodeWithValue<T> getIdentifier();
+}