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 java.util.List;
13 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
14 import org.opendaylight.yangtools.yang.model.api.UsesNode;
15 import org.opendaylight.yangtools.yang.parser.builder.impl.UnknownSchemaNodeBuilder;
16 import org.opendaylight.yangtools.yang.parser.util.RefineHolder;
19 * Interface for builders of 'uses' statement.
21 public interface UsesNodeBuilder extends GroupingMember, Builder {
23 DataNodeContainerBuilder getParent();
25 String getGroupingName();
27 SchemaPath getGroupingPath();
29 void setGroupingPath(SchemaPath groupingPath);
31 Set<AugmentationSchemaBuilder> getAugmentations();
33 void addAugment(AugmentationSchemaBuilder builder);
35 boolean isAugmenting();
37 void setAugmenting(boolean augmenting);
39 List<RefineHolder> getRefines();
41 List<SchemaNodeBuilder> getRefineNodes();
43 void addRefine(RefineHolder refine);
45 void addRefineNode(DataSchemaNodeBuilder refineNode);
49 Set<DataSchemaNodeBuilder> getTargetChildren();
51 Set<GroupingBuilder> getTargetGroupings();
53 Set<TypeDefinitionBuilder> getTargetTypedefs();
55 List<UnknownSchemaNodeBuilder> getTargetUnknownNodes();