/* * Copyright (c) 2013 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 */ /** * Definition of structures and DOM like API of effected YANG schema * * <p> * This package is structured into following logical units: * <dl> * <dt>YANG Meta model</dt> * <dd>Meta model of YANG, which defines basic concepts and building blocks of YANG models * such as {@link org.opendaylight.yangtools.yang.model.api.meta.ModelStatement}.</dd> * <dt>YANG Statement model</dt> * <dd>Concrete java model of YANG statements, which defines basic relationship between statements * and represents these statements.</dd> * * <dt>YANG Effective model</dt> * <dd>Effective model of processed YANG models, which represents semantic interpretation * of YANG models and provides convenience views for interpreting models. * </dd> * </dl> * * * <h2>YANG Effective model</h2> * <h3>Effective model statement mapping</h3> * * <dl> * <dt>anyxml * <dd>{@link org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode} * * <dt>argument * <dd>{@link org.opendaylight.yangtools.yang.model.api.ExtensionDefinition#getArgument()} * * <dt>augment * <dd>{@link org.opendaylight.yangtools.yang.model.api.AugmentationSchema} * * <dt>base * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.IdentityrefTypeDefinition#getIdentity()} * * <dt>belongs-to * <dd>{@link org.opendaylight.yangtools.yang.model.api.stmt.SubmoduleStatement#getBelongsTo()} * * <dt>bit * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition.Bit} * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition#getBits()} * * <dt>case * <dd>{@link org.opendaylight.yangtools.yang.model.api.ChoiceCaseNode} * * <dt>choice * <dd>{@link org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode} * * <dt>config * <dd>{@link org.opendaylight.yangtools.yang.model.api.DataSchemaNode#isConfiguration()} * * <dt>contact * <dd>{@link org.opendaylight.yangtools.yang.model.api.Module#getContact()} * * <dt>container * <dd>{@link org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode} * * <dt>default * <dd>{@link org.opendaylight.yangtools.yang.model.api.LeafSchemaNode#getDefault()} * * <dt>description * <dd>{@link org.opendaylight.yangtools.yang.model.api.SchemaNode#getDescription()} * <dd>{@link org.opendaylight.yangtools.yang.model.api.ConstraintMetaDefinition#getDescription()} * * <dt>enum * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition.EnumPair} * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition#getValues()} * * <dt>error-app-tag * <dd>{@link org.opendaylight.yangtools.yang.model.api.ConstraintMetaDefinition#getErrorAppTag()} * * <dt>error-message * <dd>{@link org.opendaylight.yangtools.yang.model.api.ConstraintMetaDefinition#getErrorMessage()} * * <dt>extension * <dd>{@link org.opendaylight.yangtools.yang.model.api.ExtensionDefinition} * * <dt>deviation * <dd>{@link org.opendaylight.yangtools.yang.model.api.Deviation} * * <dt>deviate * <dd>{@link org.opendaylight.yangtools.yang.model.api.DeviateKind} * * <dt>feature * <dd>{@link org.opendaylight.yangtools.yang.model.api.FeatureDefinition} * * <dt>fraction-digits * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.DecimalTypeDefinition#getFractionDigits()} * * <dt>grouping * <dd>{@link org.opendaylight.yangtools.yang.model.api.GroupingDefinition} * * <dt>identity * <dd>{@link org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode} * * <dt>if-feature * <dd>{@link org.opendaylight.yangtools.yang.model.api.stmt.IfFeatureStatement} * * <dt>import * <dd>{@link org.opendaylight.yangtools.yang.model.api.ModuleImport} * * <dt>include * <dd>{@link org.opendaylight.yangtools.yang.model.api.stmt.IncludeStatement} * * <dt>input * <dd>{@link org.opendaylight.yangtools.yang.model.api.RpcDefinition#getInput()} * * <dt>key * <dd>{@link org.opendaylight.yangtools.yang.model.api.ListSchemaNode#getKeyDefinition()} * * <dt>leaf * <dd>{@link org.opendaylight.yangtools.yang.model.api.LeafSchemaNode} * * <dt>leaf-list * <dd>{@link org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode} * * <dt>length * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.LengthConstraint} * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.StringTypeDefinition#getLengthConstraints()} * * <dt>list * <dd>{@link org.opendaylight.yangtools.yang.model.api.ListSchemaNode} * * <dt>mandatory * <dd>{@link org.opendaylight.yangtools.yang.model.api.ConstraintDefinition#isMandatory()} * * <dt>max-elements * <dd>{@link org.opendaylight.yangtools.yang.model.api.ConstraintDefinition#getMinElements()} * * <dt>min-elements * <dd>{@link org.opendaylight.yangtools.yang.model.api.ConstraintDefinition#getMaxElements()} * * <dt>module * <dd>{@link org.opendaylight.yangtools.yang.model.api.Module} * * <dt>must * <dd>{@link org.opendaylight.yangtools.yang.model.api.ConstraintDefinition#getMustConstraints()} * <dd>{@link org.opendaylight.yangtools.yang.model.api.MustDefinition} * * <dt>namespace * <dd>{@link org.opendaylight.yangtools.yang.model.api.Module#getNamespace()} * * <dt>notification * <dd>{@link org.opendaylight.yangtools.yang.model.api.NotificationDefinition} * * <dt>ordered-by * <dd>{@link org.opendaylight.yangtools.yang.model.api.ListSchemaNode#isUserOrdered()} * <dd>{@link org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode#isUserOrdered()} * * <dt>organization * <dd>{@link org.opendaylight.yangtools.yang.model.api.Module#getOrganization()} * * <dt>output * <dd>{@link org.opendaylight.yangtools.yang.model.api.RpcDefinition#getOutput()} * * <dt>path * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.LeafrefTypeDefinition#getPathStatement()} * * <dt>pattern * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.PatternConstraint} * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.StringTypeDefinition} * * <dt>position * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition.Bit#getPosition()} * * <dt>prefix * <dd>{@link org.opendaylight.yangtools.yang.model.api.Module#getPrefix()} * <dd>{@link org.opendaylight.yangtools.yang.model.api.ModuleImport#getPrefix()} * * <dt>presence * <dd>{@link org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode#isPresenceContainer()} * * <dt>range * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.RangeConstraint} * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.IntegerTypeDefinition#getRangeConstraints()} * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.UnsignedIntegerTypeDefinition#getRangeConstraints()} * * <dt>reference * <dd>{@link org.opendaylight.yangtools.yang.model.api.SchemaNode#getReference()} * * <dt>refine * <dd>{@link org.opendaylight.yangtools.yang.model.api.stmt.RefineStatement} * * <dt>require-instance * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.InstanceIdentifierTypeDefinition#requireInstance()} * * <dt>revision * <dd>{@link org.opendaylight.yangtools.yang.model.api.Module#getRevision()} * * <dt>revision-date * <dd>{@link org.opendaylight.yangtools.yang.model.api.ModuleImport#getRevision()} * * <dt>rpc * <dd>{@link org.opendaylight.yangtools.yang.model.api.RpcDefinition} * * <dt>status * <dd>{@link org.opendaylight.yangtools.yang.model.api.SchemaNode#getStatus()} * * <dt>submodule * <dd>{@link org.opendaylight.yangtools.yang.model.api.stmt.SubmoduleStatement} * * <dt>type * <dd>{@link org.opendaylight.yangtools.yang.model.api.TypeDefinition} * <dd>{@link org.opendaylight.yangtools.yang.model.api.LeafSchemaNode#getType()} * <dd>{@link org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode#getType()} * * <dt>typedef * <dd>{@link org.opendaylight.yangtools.yang.model.api.TypeDefinition} * * <dt>unique * <dd>{@link org.opendaylight.yangtools.yang.model.api.UniqueConstraint} * * <dt>units * <dd>{@link org.opendaylight.yangtools.yang.model.api.TypeDefinition#getUnits()} * * <dt>uses * <dd>{@link org.opendaylight.yangtools.yang.model.api.UsesNode} * <dd>{@link org.opendaylight.yangtools.yang.model.api.DataNodeContainer#getUses()} * * <dt>value * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition.EnumPair#getValue()} * * <dt>when * <dd>{@link org.opendaylight.yangtools.yang.model.api.ConstraintDefinition#getWhenCondition()} * * <dt>yang-version * <dd>{@link org.opendaylight.yangtools.yang.model.api.Module#getYangVersion()} * * <dt>yin-element * <dd>{@link org.opendaylight.yangtools.yang.model.api.ExtensionDefinition#isYinElement()} * * <dt>add * <dd>{@link org.opendaylight.yangtools.yang.model.api.DeviateKind#ADD} * * <dt>current * <dd>{@link org.opendaylight.yangtools.yang.model.api.Status#CURRENT} * * <dt>delete * <dd>{@link org.opendaylight.yangtools.yang.model.api.DeviateKind#DELETE} * * <dt>deprecated * <dd>{@link org.opendaylight.yangtools.yang.model.api.Status#DEPRECATED} * * <dt>false * <dd>{@link java.lang.Boolean#FALSE} * * <dt>max * <dd>Not exposed * * <dt>min * <dd>Not exposed * * <dt>not-supported * <dd>{@link org.opendaylight.yangtools.yang.model.api.DeviateKind#NOT_SUPPORTED} * * <dt>obsolete * <dd>{@link org.opendaylight.yangtools.yang.model.api.Status#OBSOLETE} * * <dt>replace * <dd>{@link org.opendaylight.yangtools.yang.model.api.DeviateKind#REPLACE} * * <dt>system * <dd>{@link org.opendaylight.yangtools.yang.model.api.ListSchemaNode#isUserOrdered()} * * <dt>true * <dd>{@link java.lang.Boolean#TRUE} * * <dt>unbounded * <dd>Not exposed * * <dt>user * <dd>{@link org.opendaylight.yangtools.yang.model.api.ListSchemaNode#isUserOrdered()} * </dl> * * * <h3>YANG Base Type Mapping</h3> * * * <dl> * <dt>Integer built-in type * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.IntegerTypeDefinition} * * <dt>Unsigned integer built-in type * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.UnsignedIntegerTypeDefinition} * * <dt>Decimal64 built-ib type * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.DecimalTypeDefinition} * * <dt>Boolean built-in type * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.BooleanTypeDefinition} * * <dt>Enumeration built-in type * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition} * * <dt>Bits Built-In Type * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition} * * <dt>The binary Built-In Type * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.BinaryTypeDefinition} * * <dt>The leafref Built-In Type * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.LeafrefTypeDefinition} * * <dt>The identityref Built-In Type * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.IdentityrefTypeDefinition} * * <dt>The empty Built-In Type * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.EmptyTypeDefinition} * * <dt>The union Built-In Type * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.UnionTypeDefinition} * <dt>The instance-identifier Built-In Type * <dd>{@link org.opendaylight.yangtools.yang.model.api.type.InstanceIdentifierTypeDefinition} * * </dl> */ package org.opendaylight.yangtools.yang.model.api;