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.model.api.AugmentationSchema;
11 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
12 import org.opendaylight.yangtools.yang.model.api.Status;
13 import org.opendaylight.yangtools.yang.model.api.YangNode;
16 * Interface for builders of 'augment' statement.
18 public interface AugmentationSchemaBuilder extends DataNodeContainerBuilder {
20 String getWhenCondition();
22 void addWhenCondition(String whenCondition);
24 String getDescription();
26 void setDescription(String description);
28 String getReference();
30 void setReference(String reference);
34 void setStatus(Status status);
37 * Get path to target node as single string.
39 * @return path to target node as String
41 String getTargetPathAsString();
44 * Get path to target node.
46 * Note that individual parts of path contain only prefix relative to
47 * current context and name of node.
50 * @return path to target node as SchemaPath
52 SchemaPath getTargetPath();
55 * Get schema path of target node.
57 * @return SchemaPath of target node
59 SchemaPath getTargetNodeSchemaPath();
62 * Set schema path of target node.
65 * SchemaPath of target node
67 void setTargetNodeSchemaPath(SchemaPath path);
69 AugmentationSchema build(YangNode parent);
72 * Get information about augmentation process.
74 * @return true, if augmentation process was performed already, false
80 * Set information about augmentation process.
84 void setResolved(boolean resolved);