+/*\r
+ * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.\r
+ *\r
+ * This program and the accompanying materials are made available under the\r
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
+ * and is available at http://www.eclipse.org/legal/epl-v10.html\r
+ */\r
+package org.opendaylight.controller.yang.data.api;\r
+\r
+import org.opendaylight.controller.yang.common.QName;\r
+\r
+/**\r
+ * Base representation of node in the data tree, defines basic parameters of\r
+ * node such as a QName.\r
+ * \r
+ * \r
+ * @param <T>\r
+ */\r
+public interface Node<T> {\r
+\r
+ /**\r
+ * Returns the name of the Node\r
+ * \r
+ * @return\r
+ */\r
+ QName getNodeType();\r
+\r
+ /**\r
+ * Returns parent node\r
+ * \r
+ * @return parent node\r
+ */\r
+ CompositeNode getParent();\r
+\r
+ /**\r
+ * Returns the value that holds current node, if no value is defined method\r
+ * can return <code>null</code>\r
+ * \r
+ * @return Returns the value that holds current node.\r
+ */\r
+ T getValue();\r
+}\r