Bug 1411: Design Binding specification v2
[mdsal.git] / binding2 / prototype / yang-binding2 / src / main / java / org / opendaylight / yangtools / yang / binding / ChildTreeNode.java
diff --git a/binding2/prototype/yang-binding2/src/main/java/org/opendaylight/yangtools/yang/binding/ChildTreeNode.java b/binding2/prototype/yang-binding2/src/main/java/org/opendaylight/yangtools/yang/binding/ChildTreeNode.java
new file mode 100644 (file)
index 0000000..4084ebe
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2016 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.binding;
+
+/**
+ * Child of parent container
+ *
+ * Marker interface uniquelly bounding generated Java interfaces to their
+ * parent container.
+ *
+ * Any nested Java interface generated from YANG must implement this interface,
+ * where parameter <code>P</code> points to it's defining data node container
+ * (interface generated for List, Container, Case).
+ *
+ * In case of children added by augmentation (which implements {@link Augmentation})
+ * interfaces representing nested container must implements {@link ChildTreeNode} with
+ * same argument as Augmentation.
+ *
+ * @param <P> Parent container
+ */
+public interface ChildTreeNode<P> extends TreeNode {
+
+}