2 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.controller.yang.parser.builder.api;
10 import java.util.HashSet;
13 import org.opendaylight.controller.yang.common.QName;
14 import org.opendaylight.controller.yang.model.api.DataSchemaNode;
15 import org.opendaylight.controller.yang.model.api.GroupingDefinition;
17 public abstract class AbstractDataNodeContainerBuilder implements DataNodeContainerBuilder {
18 protected final int line;
19 protected final QName qname;
20 protected Builder parent;
22 protected Set<DataSchemaNode> childNodes;
23 protected final Set<DataSchemaNodeBuilder> addedChildNodes = new HashSet<DataSchemaNodeBuilder>();
25 protected Set<GroupingDefinition> groupings;
26 protected final Set<GroupingBuilder> addedGroupings = new HashSet<GroupingBuilder>();
28 protected AbstractDataNodeContainerBuilder(final int line, final QName qname) {
34 public int getLine() {
39 public Builder getParent() {
44 public void setParent(final Builder parent) {
49 public QName getQName() {
54 public Set<DataSchemaNode> getChildNodes() {
58 public void setChildNodes(Set<DataSchemaNode> childNodes) {
59 this.childNodes = childNodes;
63 public Set<DataSchemaNodeBuilder> getChildNodeBuilders() {
64 return addedChildNodes;
68 public DataSchemaNodeBuilder getDataChildByName(final String name) {
69 for(DataSchemaNodeBuilder child : addedChildNodes) {
70 if(child.getQName().getLocalName().equals(name)) {
78 public void addChildNode(DataSchemaNodeBuilder childNode) {
79 addedChildNodes.add(childNode);
83 public Set<GroupingDefinition> getGroupings() {
87 public void setGroupings(final Set<GroupingDefinition> groupings) {
88 this.groupings = groupings;
91 public Set<GroupingBuilder> getGroupingBuilders() {
92 return addedGroupings;
96 public void addGrouping(GroupingBuilder grouping) {
97 addedGroupings.add(grouping);