/*
* 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
*/
package org.opendaylight.yangtools.yang.model.api;
import java.util.Optional;
/**
* YANG statement typedef
contains also substatements
*
default
- default value which is compatible with
* type
,type
- base type from which is typedef
derived,
* units
- textual information about units associated with this
* type.type
substatement) which
* is included in the instance of this type
*/
// FIXME: 8.0.0: it seems this construct is mostly used in yang-data-api/codec view of the world. Introduce a dead
// ringer interface at that layer, which will not have a SchemaNode implication but (perhaps) is backed
// by a TypedefEffectiveStatement (or TypeEffectiveStatement?)
public interface TypeDefinition<T>
type which represents the base
* type of instance of the TypeDefinition
type or null,
* if this is yang built-in type
*/
T getBaseType();
/**
* Returns the unit which represents the value of the argument of the units
substatement of the YANG
* typedef
, leaf
or leaf-list
statements.
*
* @return string with units in which is type measured
*/
Optionaldefault
substatement
* of the YANG typedef
or leaf
statement.
*
* @return instance of Object
type which contains default value for typedef
*/
Optional extends Object> getDefaultValue();
}