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.yangtools.yang.parser.builder.api;
10 import org.opendaylight.yangtools.yang.common.QName;
11 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
12 import org.opendaylight.yangtools.yang.model.api.YangNode;
13 import org.opendaylight.yangtools.yang.parser.builder.impl.ConstraintsBuilder;
16 * Interface for all yang data-schema nodes [anyxml, case, container, grouping,
17 * list, module, notification].
19 public interface DataSchemaNodeBuilder extends SchemaNodeBuilder, GroupingMember {
21 void setQName(QName qname);
24 * Build DataSchemaNode object from this builder.
26 DataSchemaNode build(YangNode parent);
30 * @return true, if this node is added by augmentation, false otherwise
32 boolean isAugmenting();
35 * Set if this node is added by augmentation.
39 void setAugmenting(boolean augmenting);
42 * Get value of config statement.
44 * @return value of config statement
46 Boolean isConfiguration();
49 * Set config statement.
53 void setConfiguration(Boolean config);
56 * Get constraints of this builder.
58 * @return constraints of this builder
60 ConstraintsBuilder getConstraints();