Cleanup checkstyle in yang-{data,model}-api
[yangtools.git] / yang / yang-model-api / src / main / java / org / opendaylight / yangtools / yang / model / api / Deviation.java
1 /*
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
3  *
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
7  */
8 package org.opendaylight.yangtools.yang.model.api;
9
10 import java.util.List;
11
12 /**
13  * Interface describing YANG 'deviation' statement.
14  *
15  * <p>
16  * The 'deviation' statement defines a hierarchy of a module that the device
17  * does not implement faithfully. Deviations define the way a device deviate
18  * from a standard.
19  */
20 public interface Deviation {
21
22     /**
23      * Returns target schema path.
24      *
25      * @return SchemaPath that identifies the node in the schema tree where a
26      *         deviation from the module occurs.
27      */
28     SchemaPath getTargetPath();
29
30     /**
31      * Returns deviate children.
32      *
33      * @return List of all deviate statements defined in this deviation
34      */
35     List<DeviateDefinition> getDeviates();
36
37     /**
38      * Returns the description text.
39      *
40      * @return textual description of this deviation
41      */
42     String getDescription();
43
44     /**
45      * Returns reference.
46      *
47      * @return textual cross-reference to an external document that provides
48      *         additional information relevant to this node.
49      */
50     String getReference();
51
52     /**
53      * Returns unknown schema node children.
54      *
55      * @return collection of all unknown nodes defined under this schema node.
56      */
57     List<UnknownSchemaNode> getUnknownSchemaNodes();
58
59 }