--- /dev/null
+/*\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.parser.builder.api;\r
+\r
+import org.opendaylight.controller.yang.common.QName;\r
+import org.opendaylight.controller.yang.model.api.SchemaNode;\r
+import org.opendaylight.controller.yang.model.api.SchemaPath;\r
+import org.opendaylight.controller.yang.model.api.Status;\r
+\r
+/**\r
+ * Interface for all builders of SchemaNode nodes.\r
+ */\r
+public interface SchemaNodeBuilder extends Builder {\r
+\r
+ /**\r
+ * Get qname of this node.\r
+ *\r
+ * @return QName of this node\r
+ */\r
+ QName getQName();\r
+\r
+ /**\r
+ * Get schema path of this node.\r
+ *\r
+ * @return SchemaPath of this node\r
+ */\r
+ SchemaPath getPath();\r
+\r
+ /**\r
+ * Set schema path to this node.\r
+ *\r
+ * @param schemaPath\r
+ */\r
+ void setPath(SchemaPath schemaPath);\r
+\r
+ /**\r
+ * Get description of this node.\r
+ *\r
+ * @return description statement\r
+ */\r
+ String getDescription();\r
+\r
+ /**\r
+ * Set description to this node.\r
+ *\r
+ * @param description\r
+ */\r
+ void setDescription(String description);\r
+\r
+ /**\r
+ * Get reference of this node.\r
+ *\r
+ * @return reference statement\r
+ */\r
+ String getReference();\r
+\r
+ /**\r
+ * Set reference to this node.\r
+ *\r
+ * @param reference\r
+ */\r
+ void setReference(String reference);\r
+\r
+ /**\r
+ * Get status of this node.\r
+ *\r
+ * @return status statement\r
+ */\r
+ Status getStatus();\r
+\r
+ /**\r
+ * Set status to this node.\r
+ *\r
+ * @param status\r
+ */\r
+ void setStatus(Status status);\r
+\r
+ /**\r
+ * Build SchemaNode object from this builder.\r
+ */\r
+ SchemaNode build();\r
+\r
+}\r