2 * Copyright (c) 2016 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
9 package org.opendaylight.yangtools.yang.model.api;
11 import com.google.common.annotations.Beta;
12 import java.util.Collection;
16 * Interface describing YANG 'deviate' statement.
19 * The 'deviate' statement defines how the device's implementation of
20 * the target node deviates from its original definition.
21 * The argument is one of the strings "not-supported", "add", "replace", or "delete".
24 public interface DeviateDefinition {
26 * Return deviation kind.
28 * @return enum which describes the type of this deviate statement
30 DeviateKind getDeviateType();
33 * Returns deviated config value.
35 * @return value of the deviated config statement or null if it is not deviated
37 Boolean getDeviatedConfig();
40 * Returns deviated default value.
42 * @return value of the deviated default statement or null if it is not deviated
44 String getDeviatedDefault();
47 * Returns deviated mandatory value.
49 * @return value of the deviated mandatory statement or null if it is not deviated
51 Boolean getDeviatedMandatory();
54 * Returns deviated max-elements.
56 * @return value of the deviated max-elements statement or null if it is not deviated
58 Integer getDeviatedMaxElements();
61 * Returns deviated min-elements.
63 * @return value of the deviated min-elements statement or null if it is not deviated
65 Integer getDeviatedMinElements();
68 * Returns deviated must statements.
70 * @return set of the deviated must statements
72 Set<MustDefinition> getDeviatedMusts();
75 * Returns deviated type statement.
77 * @return deviated type statement or null if it is not deviated
79 TypeDefinition<?> getDeviatedType();
82 * Returns deviated unique statements.
84 * @return collection of the deviated unique statements
86 Collection<UniqueConstraint> getDeviatedUniques();
89 * Returns deviated units statement.
91 * @return value of the deviated units statement or null if it is not deviated
93 String getDeviatedUnits();