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.model.api;
10 import java.util.List;
13 * Interface describing YANG 'deviation' statement.
15 * The 'deviation' statement defines a hierarchy of a module that the device
16 * does not implement faithfully. Deviations define the way a device deviate
20 public interface Deviation {
23 * @return SchemaPath that identifies the node in the schema tree where a
24 * deviation from the module occurs.
26 SchemaPath getTargetPath();
30 * @return List of all deviate statements defined in this deviation
32 List<DeviateDefinition> getDeviates();
36 * @return textual description of this deviation
38 String getDescription();
41 * @return textual cross-reference to an external document that provides
42 * additional information relevant to this node.
44 String getReference();
47 * @return collection of all unknown nodes defined under this schema node.
49 List<UnknownSchemaNode> getUnknownSchemaNodes();