Initial opendaylight infrastructure commit!!
[controller.git] / opendaylight / sal / yang-prototype / code-generator / yang-model-parser-impl / src / main / java / org / opendaylight / controller / model / parser / api / AbstractChildNodeBuilder.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.model.parser.api;\r
9 \r
10 import java.util.HashSet;\r
11 import java.util.Set;\r
12 \r
13 import org.opendaylight.controller.yang.common.QName;\r
14 \r
15 public abstract class AbstractChildNodeBuilder implements ChildNodeBuilder {\r
16 \r
17     private final QName qname;\r
18     protected final Set<DataSchemaNodeBuilder> childNodes = new HashSet<DataSchemaNodeBuilder>();\r
19     protected final Set<GroupingBuilder> groupings = new HashSet<GroupingBuilder>();\r
20 \r
21     protected AbstractChildNodeBuilder(QName qname) {\r
22         this.qname = qname;\r
23     }\r
24 \r
25     @Override\r
26     public QName getQName() {\r
27         return qname;\r
28     }\r
29 \r
30     @Override\r
31     public void addChildNode(DataSchemaNodeBuilder childNode) {\r
32         childNodes.add(childNode);\r
33     }\r
34 \r
35     @Override\r
36     public void addGrouping(GroupingBuilder grouping) {\r
37         groupings.add(grouping);\r
38     }\r
39 \r
40 }\r