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 * Enum describing YANG deviation 'deviate' statement. It defines how the
24 * device's implementation of the target node deviates from its original
28 NOT_SUPPORTED, ADD, REPLACE, DELETE
32 * @return SchemaPath that identifies the node in the schema tree where a
33 * deviation from the module occurs.
35 SchemaPath getTargetPath();
38 * @return deviate statement of this deviation
43 * @return textual cross-reference to an external document that provides
44 * additional information relevant to this node.
46 String getReference();
49 * @return collection of all unknown nodes defined under this schema node.
51 List<UnknownSchemaNode> getUnknownSchemaNodes();