Un-deprecate CopyableNode, AddedByUsesAware
[yangtools.git] / yang / yang-model-api / src / main / java / org / opendaylight / yangtools / yang / model / api / package-info.java
index 0bed3b116508ebe16d6a5171097232e8c27e8574..f356073770c0fafb1da482329a73490c9f0b76e9 100644 (file)
@@ -1,42 +1,59 @@
 /*
 * 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
 */
+ * 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 processed YANG schema
+ * 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>
  *
- * <h3>YANG Statement mapping</h3>
+ *
+ * <h2>YANG Effective model</h2>
+ * <h3>Effective model statement mapping</h3>
  *
  * <dl>
  * <dt>anyxml
- *   <dd>{@link org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode}
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.AnyxmlSchemaNode}
  *
  * <dt>argument
- *   <dd>{@link org.opendaylight.yangtools.yang.model.api.ExtensionDefinition#getArgumentName()}
- *
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.ExtensionDefinition#getArgument()}
  *
  * <dt>augment
- *   <dd>{@link org.opendaylight.yangtools.yang.model.api.AugmentationSchema}
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode}
  *
  * <dt>base
- *   <dd>{@link org.opendaylight.yangtools.yang.model.api.type.IdentityrefTypeDefinition#getIdentity()}
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.type.IdentityrefTypeDefinition#getIdentities()}
  *
  * <dt>belongs-to
- *   <dd>
+ *   <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}
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.CaseSchemaNode}
  *
  * <dt>choice
- *   <dd>{@link org.opendaylight.yangtools.yang.model.api.ChoiceNode}
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode}
  *
  * <dt>config
  *   <dd>{@link org.opendaylight.yangtools.yang.model.api.DataSchemaNode#isConfiguration()}
@@ -48,7 +65,7 @@
  *   <dd>{@link org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode}
  *
  * <dt>default
- *   <dd>
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.TypeDefinition#getDefaultValue()}
  *
  * <dt>description
  *   <dd>{@link org.opendaylight.yangtools.yang.model.api.SchemaNode#getDescription()}
@@ -71,7 +88,7 @@
  *   <dd>{@link org.opendaylight.yangtools.yang.model.api.Deviation}
  *
  * <dt>deviate
- *   <dd>
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.DeviateKind}
  *
  * <dt>feature
  *   <dd>{@link org.opendaylight.yangtools.yang.model.api.FeatureDefinition}
  *   <dd>{@link org.opendaylight.yangtools.yang.model.api.GroupingDefinition}
  *
  * <dt>identity
- *   <dd>
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode}
  *
  * <dt>if-feature
- *   <dd>
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.stmt.IfFeatureStatement}
  *
  * <dt>import
  *   <dd>{@link org.opendaylight.yangtools.yang.model.api.ModuleImport}
  *
  * <dt>include
- *   <dd>
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.stmt.IncludeStatement}
  *
  * <dt>input
  *   <dd>{@link org.opendaylight.yangtools.yang.model.api.RpcDefinition#getInput()}
  *
  * <dt>length
  *   <dd>{@link org.opendaylight.yangtools.yang.model.api.type.LengthConstraint}
- *   <dd>{@link org.opendaylight.yangtools.yang.model.api.type.StringTypeDefinition#getLengthConstraints()}
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.type.StringTypeDefinition#getLengthConstraint()}
  *
  * <dt>list
  *   <dd>{@link org.opendaylight.yangtools.yang.model.api.ListSchemaNode}
  *
  * <dt>mandatory
- *   <dd>{@link org.opendaylight.yangtools.yang.model.api.ConstraintDefinition#isMandatory()}
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.MandatoryAware#isMandatory()}
  *
  * <dt>max-elements
- *   <dd>{@link org.opendaylight.yangtools.yang.model.api.ConstraintDefinition#getMinElements()}
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.ElementCountConstraint#getMinElements()}
  *
  * <dt>min-elements
- *   <dd>{@link org.opendaylight.yangtools.yang.model.api.ConstraintDefinition#getMaxElements()}
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.ElementCountConstraint#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.MustConstraintAware#getMustConstraints()}
  *   <dd>{@link org.opendaylight.yangtools.yang.model.api.MustDefinition}
  *
  * <dt>namespace
  *   <dd>{@link org.opendaylight.yangtools.yang.model.api.type.LeafrefTypeDefinition#getPathStatement()}
  *
  * <dt>pattern
- *   <dd>{@link org.opendaylight.yangtools.yang.model.base.type.api.PatternConstraint}
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.type.PatternConstraint}
  *   <dd>{@link org.opendaylight.yangtools.yang.model.api.type.StringTypeDefinition}
  *
  * <dt>position
  *
  * <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()}
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.type.RangeRestrictedTypeDefinition#getRangeConstraint()}
  *
  * <dt>reference
  *   <dd>{@link org.opendaylight.yangtools.yang.model.api.SchemaNode#getReference()}
  *
  * <dt>refine
- *   <dd>
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.stmt.RefineStatement}
  *
  * <dt>require-instance
  *   <dd>{@link org.opendaylight.yangtools.yang.model.api.type.InstanceIdentifierTypeDefinition#requireInstance()}
  *   <dd>{@link org.opendaylight.yangtools.yang.model.api.SchemaNode#getStatus()}
  *
  * <dt>submodule
- *   <dd>
+ *   <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.TypeDefinition}
  *
  * <dt>unique
- *   <dd>
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.stmt.UniqueEffectiveStatement}
  *
  * <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.DataNodeContainere#getUses()}
+ *   <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()}
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.WhenConditionAware#getWhenCondition()}
  *
  * <dt>yang-version
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.Module#getYangVersion()}
  *
  * <dt>yin-element
- *   <dd>
- *
- *
- *
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.ExtensionDefinition#isYinElement()}
  *
  * <dt>add
- *   <dd>
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.DeviateKind#ADD}
  *
  * <dt>current
- *   <dd>
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.Status#CURRENT}
  *
  * <dt>delete
- *   <dd>
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.DeviateKind#DELETE}
  *
  * <dt>deprecated
- *   <dd>
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.Status#DEPRECATED}
  *
  * <dt>false
- *   <dd>
+ *   <dd>{@link java.lang.Boolean#FALSE}
  *
  * <dt>max
- *   <dd>
+ *   <dd>Not exposed
  *
  * <dt>min
- *   <dd>
+ *   <dd>Not exposed
  *
  * <dt>not-supported
- *   <dd>
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.DeviateKind#NOT_SUPPORTED}
  *
  * <dt>obsolete
- *   <dd>
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.Status#OBSOLETE}
  *
  * <dt>replace
- *   <dd>
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.DeviateKind#REPLACE}
  *
  * <dt>system
- *   <dd>
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.ListSchemaNode#isUserOrdered()}
  *
  * <dt>true
- *   <dd>
+ *   <dd>{@link java.lang.Boolean#TRUE}
  *
  * <dt>unbounded
- *   <dd>
+ *   <dd>Not exposed
  *
  * <dt>user
- *   <dd>
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.ListSchemaNode#isUserOrdered()}
  * </dl>
  *
  *
  *
  *
  * <dl>
- * <dt>Integer built-in type
- *   <dd>{@link org.opendaylight.yangtools.yang.model.api.type.IntegerTypeDefinition}
+ * <dt>Int8 built-in type
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.type.Int8TypeDefinition}
+ *
+ * <dt>Int16 built-in type
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.type.Int16TypeDefinition}
+ *
+ * <dt>Int32 built-in type
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.type.Int32TypeDefinition}
+ *
+ * <dt>Int64 built-in type
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.type.Int64TypeDefinition}
+ *
+ * <dt>Uint8 built-in type
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.type.Uint8TypeDefinition}
+ *
+ * <dt>Uint16 built-in type
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.type.Uint16TypeDefinition}
+ *
+ * <dt>Uint32 built-in type
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.type.Uint32TypeDefinition}
  *
- * <dt>Unsigned integer built-in type
- *   <dd>{@link org.opendaylight.yangtools.yang.model.api.type.UnsignedIntegerTypeDefinition}
+ * <dt>Uint64 built-in type
+ *   <dd>{@link org.opendaylight.yangtools.yang.model.api.type.Uint64TypeDefinition}
  *
- * <dt>Decimal64 built-ib type
+ * <dt>Decimal64 built-in type
  *   <dd>{@link org.opendaylight.yangtools.yang.model.api.type.DecimalTypeDefinition}
  *
  * <dt>Boolean built-in type