/* * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ /** * Meta model of YANG model as was defined in RFC6020 and extracted by analysis * of YANG text. * *

* Existence of meta-model allows for better evolution of YANG language as it evolves * and allows for better support of different serializations of YANG model. * *

Statements

* YANG source is defined as sequence of statement in * RFC6020, Section 6.3. * this model is also correct for YIN, which is XML serialisation of YANG source. * *

* Statements are represented as instances / subclasses of * {@link org.opendaylight.yangtools.yang.model.api.meta.ModelStatement} concept and its two subconcepts which are: *

* *

* Clear separation of declared / effective model is needed, since statement definition also * contains information how effective model is computed and there is no one to one mapping * between declared and effective model thanks to statements such as {@code uses}, * {@code augment},{@code deviate},{@code refine}. * *

Identifiers and Namespaces

* Effective model of YANG has several identifier types and namespaces, which behaves differently * and are mostly used during processing data and/or during computing effective (semantic) model. * *

* Common abstraction for various types of namespaces is * {@link org.opendaylight.yangtools.yang.model.api.meta.IdentifierNamespace} * from which concrete effective model namespaces are derived. */ package org.opendaylight.yangtools.yang.model.api.meta;