--- /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 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