c8e69682741914e9c7c3b5f223bdd2b08149f5fc
[controller.git] / opendaylight / sal / yang-prototype / code-generator / yang-model-parser-impl / src / main / java / org / opendaylight / controller / yang / parser / builder / api / AbstractSchemaNodeBuilder.java
1 /*\r
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.\r
3  *\r
4  * This program and the accompanying materials are made available under the\r
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
6  * and is available at http://www.eclipse.org/legal/epl-v10.html\r
7  */\r
8 package org.opendaylight.controller.yang.parser.builder.api;\r
9 \r
10 import java.util.ArrayList;\r
11 import java.util.List;\r
12 \r
13 import org.opendaylight.controller.yang.common.QName;\r
14 import org.opendaylight.controller.yang.model.api.SchemaPath;\r
15 import org.opendaylight.controller.yang.model.api.Status;\r
16 import org.opendaylight.controller.yang.parser.builder.impl.UnknownSchemaNodeBuilder;\r
17 \r
18 /**\r
19  * Basic implementation of SchemaNodeBuilder.\r
20  */\r
21 public abstract class AbstractSchemaNodeBuilder implements SchemaNodeBuilder {\r
22     protected final int line;\r
23     protected final QName qname;\r
24     protected SchemaPath path;\r
25     protected String description;\r
26     protected String reference;\r
27     protected Status status = Status.CURRENT;\r
28     protected final List<UnknownSchemaNodeBuilder> addedUnknownNodes = new ArrayList<UnknownSchemaNodeBuilder>();\r
29 \r
30     protected AbstractSchemaNodeBuilder(final QName qname, final int line) {\r
31         this.qname = qname;\r
32         this.line = line;\r
33     }\r
34 \r
35     @Override\r
36     public int getLine() {\r
37         return line;\r
38     }\r
39 \r
40     public QName getQName() {\r
41         return qname;\r
42     }\r
43 \r
44     public SchemaPath getPath() {\r
45         return path;\r
46     }\r
47 \r
48     public void setPath(SchemaPath schemaPath) {\r
49         this.path = schemaPath;\r
50     }\r
51 \r
52     public String getDescription() {\r
53         return description;\r
54     }\r
55 \r
56     public void setDescription(String description) {\r
57         this.description = description;\r
58     }\r
59 \r
60     public String getReference() {\r
61         return reference;\r
62     }\r
63 \r
64     public void setReference(String reference) {\r
65         this.reference = reference;\r
66     }\r
67 \r
68     public Status getStatus() {\r
69         return status;\r
70     }\r
71 \r
72     public void setStatus(Status status) {\r
73         if (status != null) {\r
74             this.status = status;\r
75         }\r
76     }\r
77 \r
78     @Override\r
79     public void addUnknownSchemaNode(UnknownSchemaNodeBuilder unknownNode) {\r
80         addedUnknownNodes.add(unknownNode);\r
81     }\r
82 \r
83 }\r