Refactored parsing of YANG uses statement.
[controller.git] / opendaylight / sal / yang-prototype / code-generator / yang-model-parser-impl / src / main / java / org / opendaylight / controller / yang / parser / builder / api / AbstractSchemaNodeBuilder.java
diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AbstractSchemaNodeBuilder.java b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AbstractSchemaNodeBuilder.java
new file mode 100644 (file)
index 0000000..c8e6968
--- /dev/null
@@ -0,0 +1,83 @@
+/*\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 java.util.ArrayList;\r
+import java.util.List;\r
+\r
+import org.opendaylight.controller.yang.common.QName;\r
+import org.opendaylight.controller.yang.model.api.SchemaPath;\r
+import org.opendaylight.controller.yang.model.api.Status;\r
+import org.opendaylight.controller.yang.parser.builder.impl.UnknownSchemaNodeBuilder;\r
+\r
+/**\r
+ * Basic implementation of SchemaNodeBuilder.\r
+ */\r
+public abstract class AbstractSchemaNodeBuilder implements SchemaNodeBuilder {\r
+    protected final int line;\r
+    protected final QName qname;\r
+    protected SchemaPath path;\r
+    protected String description;\r
+    protected String reference;\r
+    protected Status status = Status.CURRENT;\r
+    protected final List<UnknownSchemaNodeBuilder> addedUnknownNodes = new ArrayList<UnknownSchemaNodeBuilder>();\r
+\r
+    protected AbstractSchemaNodeBuilder(final QName qname, final int line) {\r
+        this.qname = qname;\r
+        this.line = line;\r
+    }\r
+\r
+    @Override\r
+    public int getLine() {\r
+        return line;\r
+    }\r
+\r
+    public QName getQName() {\r
+        return qname;\r
+    }\r
+\r
+    public SchemaPath getPath() {\r
+        return path;\r
+    }\r
+\r
+    public void setPath(SchemaPath schemaPath) {\r
+        this.path = schemaPath;\r
+    }\r
+\r
+    public String getDescription() {\r
+        return description;\r
+    }\r
+\r
+    public void setDescription(String description) {\r
+        this.description = description;\r
+    }\r
+\r
+    public String getReference() {\r
+        return reference;\r
+    }\r
+\r
+    public void setReference(String reference) {\r
+        this.reference = reference;\r
+    }\r
+\r
+    public Status getStatus() {\r
+        return status;\r
+    }\r
+\r
+    public void setStatus(Status status) {\r
+        if (status != null) {\r
+            this.status = status;\r
+        }\r
+    }\r
+\r
+    @Override\r
+    public void addUnknownSchemaNode(UnknownSchemaNodeBuilder unknownNode) {\r
+        addedUnknownNodes.add(unknownNode);\r
+    }\r
+\r
+}\r