/*
* Copyright (c) 2014 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
*/
/**
* Utility classes and implementations for concepts defined in yang-model-api.
*
*
*
Base Types
*
* YANG specification defines several base types, for which YANG model does not
* exists, but have same properties as derived types. This package provides
* implementation of {@link org.opendaylight.yangtools.yang.model.api.TypeDefinition}
* interface and it's subinterfaces which represent YANG base types and
* types derived from them.
*
* YANG Specification implicitly defines two types of base types - ones with default version,
* and ones which needs to be derived.
*
*
Base built-in types with default instance and semantics
*
*
* - empty
* - A leaf that does not have any value - {@link org.opendaylight.yangtools.yang.model.util.EmptyType}
* - binary
* - Any binary data - {@link org.opendaylight.yangtools.yang.model.util.BinaryType}
*
- boolean
* - "true" or "false" - {@link org.opendaylight.yangtools.yang.model.util.BinaryType}
* - int8
* - 8-bit signed integer - {@link org.opendaylight.yangtools.yang.model.util.Int8}
* - int16
* - 16-bit signed integer - {@link org.opendaylight.yangtools.yang.model.util.Int16}
* - int32
* - 32-bit signed integer - {@link org.opendaylight.yangtools.yang.model.util.Int32}
* - int64
* - 64-bit signed integer - {@link org.opendaylight.yangtools.yang.model.util.Int64}
* - uint8
* - 8-bit unsigned integer -{@link org.opendaylight.yangtools.yang.model.util.Uint8}
* - uint16
* - 16-bit unsigned integer - {@link org.opendaylight.yangtools.yang.model.util.Int16}
* - uint32
* - 32-bit unsigned integer - {@link org.opendaylight.yangtools.yang.model.util.Int32}
* - uint64
* - 64-bit unsigned integer -{@link org.opendaylight.yangtools.yang.model.util.Int64}
* - instance-identifier
* - References a data tree node - {@link org.opendaylight.yangtools.yang.model.util.InstanceIdentifierType}
* - string
* - {@link org.opendaylight.yangtools.yang.model.util.StringType}
*
*
* Common trait of base types with default instance is, that there is no requirement
* for user input in YANG schema to further modify this types.
*
* The implementation classes for these base types contains static method getInstance()
* which provides reusable {@link org.opendaylight.yangtools.concepts.Immutable} instance of type.
*
*
Base built-in types without default instance
*
*
* - bits
* - A set of bits or flags - {@link org.opendaylight.yangtools.yang.model.util.BitsType}
* - decimal64
* - 64-bit signed decimal number - {@link org.opendaylight.yangtools.yang.model.util.Decimal64}
* - enumeration
* - Enumerated strings - {@link org.opendaylight.yangtools.yang.model.util.EnumerationType}
* - union
* - Choice of member types - {@link org.opendaylight.yangtools.yang.model.util.UnionType}
* - identity-ref
* - A reference to an abstract identity - {@link org.opendaylight.yangtools.yang.model.util.IdentityrefType}
* - leafref
* - A reference to a leaf instance - {@link org.opendaylight.yangtools.yang.model.util.Leafref}
*
*
* Common trait of these base types without default instance is, that they require
* user input in YANG schema to create instance of this types, and may have infinity number of
* possible permutations.
*
* The implementations have static factory method create(SchemaPath,...)
* which provides {@link org.opendaylight.yangtools.concepts.Immutable} instance of type.
*
*/
package org.opendaylight.yangtools.yang.model.util;