Use imported checkState()
[yangtools.git] / README.md
1 [![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.opendaylight.yangtools/yangtools-artifacts/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.opendaylight.yangtools/yangtools-artifacts)
2 [![Javadocs](https://www.javadoc.io/badge/org.opendaylight.yangtools/yangtools-docs.svg)](https://www.javadoc.io/doc/org.opendaylight.yangtools/yangtools-docs)
3 [![License](https://img.shields.io/badge/License-EPL%201.0-blue.svg)](https://opensource.org/licenses/EPL-1.0)
4
5 # YANG Tools
6
7 YANG Tools is to develop necessary tooling and libraries to provide Java runtime
8 and support for [YANG modeling language][RFC6020], data structures modeled by YANG and their
9 serialization and deserialization as defined in IETF drafts and standards.
10
11 ## Current Features
12
13 * parsing of [YANG sources][RFC6020] and semantic inference of relationship across YANG models as defined in [RFC6020]
14 * representation of YANG-modeled data in Java
15   * **DOM-like APIs** - DOM-like tree model, which uses conceptual meta-model
16   * **Java Bindings** - Concrete data model generated from YANG models
17 * serialization / deserialization of YANG-modeled data driven by YANG models
18   * XML - as defined in [RFC6020] and revised in [RFC7950]
19   * JSON - as defined in [draft-lhotka-netmod-yang-json-01] and standardized in [RFC7951]
20 * Integration of YANG model parsing into Maven build lifecycle and
21   support for third-party generators processing  YANG models.
22
23 [RFC6020]:https://tools.ietf.org/html/rfc6020
24 [RFC7950]:https://tools.ietf.org/html/rfc7950
25 [RFC7951]:https://tools.ietf.org/html/rfc7951
26 [draft-lhotka-netmod-yang-json-01]:https://tools.ietf.org/html/draft-lhotka-netmod-yang-json-01