692311555c28c82e0c476d23071c841ce3fb138c
[yangtools.git] / parser / yang-parser-api / src / main / java / org / opendaylight / yangtools / yang / parser / api / ImportResolutionMode.java
1 /*
2  * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.parser.api;
9
10 import com.google.common.annotations.Beta;
11
12 /**
13  * Enumeration of various ways of resolving {@code import} statements.
14  */
15 public enum ImportResolutionMode {
16     /**
17      * Standard method as specified by <a href="https://tools.ietf.org/html/rfc6020#section-7.1.5">RFC6020</a> and
18      * refined by <a href="https://tools.ietf.org/html/rfc7950#section-7.1.5">RFC7950</a>. {@code import}s are resolved
19      * based on exact match of {@code revision-date} statement. In case it is not specified, latest available revision
20      * is used.
21      */
22     DEFAULT,
23     /**
24      * Semantic version-based method. This method disregards {@code revision-date} statements and relies on
25      * <a href="https://github.com/openconfig/public/blob/master/release/models/openconfig-extensions.yang">
26      * openconfig-version extension</a>.
27      *
28      * <p>
29      * This mode is considered experimental and may be subject to change.
30      */
31     @Beta
32     @Deprecated(since = "7.0.11", forRemoval = true)
33     OPENCONFIG_SEMVER;
34 }