* {@link #getName() module} module_name{
{@link #getYangVersion() yang-version} "1";
{@link #getNamespace() namespace} "urn:module:namespace";
{@link #getPrefix() prefix} "prefix";
{@link #getDescription() description} "description test";
{@link #getReference() reference} "reference test";
{@link #getOrganization() organization}
"John Doe, john.doe@email.com";
{@link #getContact() contact} "http://www.opendaylight.org/";
{@link #getFeatures() feature} feature-test{
description "description of some feature";
}
{@link #getNotifications() notification} notification-test;
{@link #getRpcs() rpc} rpc-test;
{@link #getIdentities() identity} identity-test;
{@link #getExtensionSchemaNodes() extension} extension-test;
{@link #getRevision() revision} 2011-08-27 {
{@link #getImports() import} other_module {
prefix "other_module_prefix"
revision-date 2011-08-27
}
container cont {
}
{@link #getAugmentations() augment} "/cont" { ;
}
}
*/
@Immutable
public interface Module extends DataNodeContainer, NotificationNodeContainer {
/**
* Returns the name of the module which is specified as argument of YANG
* {@link Module module} keyword.
*
* @return string with the name of the module
*/
String getName();
/**
* Returns a {@link QNameModule}, which contains the namespace and
* the revision of the module.
*
* @return QNameModule identifier.
*/
QNameModule getQNameModule();
/**
* Returns the namespace of the module which is specified as argument of
* YANG {@link Module namespace}
* keyword. If you need both namespace and revision, please consider using
* {@link #getQNameModule()}.
*
* @return URI format of the namespace of the module
*/
default URI getNamespace() {
return getQNameModule().getNamespace();
}
/**
* Returns the revision date for the module. If you need both namespace and
* revision, please consider using {@link #getQNameModule()}.
*
* @return date of the module revision which is specified as argument of
* YANG {@link Module revison}
* keyword
*/
default Optional
* If the semantic version is not specified, default semantic version of
* module is returned.
*
* @return SemVer semantic version of yang module which is specified as
* argument of
* (urn:opendaylight:yang:extension:semantic-version?revision
* =2016-02-02)semantic-version statement
*/
Optional
* The contact represents the person or persons to whom technical queries
* concerning this module should be sent, such as their name, postal
* address, telephone number, and electronic mail address.
*
* @return string with the contact data specified in the module as the
* argument of YANG {@link Module contact} keyword
*/
String getContact();
/**
* Returns imports which represents YANG modules which are imported to this
* module via import statement.
*
* @return set of module imports which are specified in the module as the
* argument of YANG {@link Module import} keywords.
*/
Set
* The feature is used to define a mechanism by which portions of the schema
* are marked as conditional.
*
* @return feature statements in lexicographical order which are specified
* in the module as the argument of YANG {@link Module feature} keywords.
*/
SetFeatureDefinition
instances which contain data from
* feature statements defined in the module.
*
* AugmentationSchema
instances which contain data from
* augment statements defined in the module.
*
* @return set of the augmentation schema instances which are specified in
* the module as YANG {@link Module augment} keyword and are
* lexicographically ordered
*/
SetRpcDefinition
instances which contain data from
* rpc statements defined in the module.
*
* @return set of the rpc definition instances which are specified in the
* module as YANG {@link Module rpc} keywords and are lexicographicaly
* ordered
*/
SetDeviation
instances which contain data from
* deviation statements defined in the module.
*
* @return set of the deviation instances
*/
SetIdentitySchemaNode
instances which contain data from
* identity statements defined in the module.
*
* @return set of identity schema node instances which are specified in the
* module as YANG {@link Module identity} keywords and are
* lexicographically ordered
*/
SetExtensionDefinition
instances which contain data
* from extension statements defined in the module.
*
* @return set of extension definition instances which are specified in the
* module as YANG {@link Module extension} keyword and are
* lexicographically ordered
*/
List