package org.opendaylight.yangtools.yang.model.api;
import java.net.URI;
-import java.util.Date;
import java.util.List;
import java.util.Optional;
import java.util.Set;
-import javax.annotation.Nonnull;
import javax.annotation.concurrent.Immutable;
import org.opendaylight.yangtools.concepts.SemVer;
import org.opendaylight.yangtools.yang.common.QNameModule;
+import org.opendaylight.yangtools.yang.common.Revision;
import org.opendaylight.yangtools.yang.common.YangVersion;
/**
</code>
*/
@Immutable
-public interface Module extends DataNodeContainer, NotificationNodeContainer {
+public interface Module extends DataNodeContainer, DocumentedNode, NotificationNodeContainer, NamespaceRevisionAware {
/**
* Returns the name of the module which is specified as argument of YANG
* {@link Module <b><font color="#FF0000">module</font></b>} keyword.
*
* @return URI format of the namespace of the module
*/
+ @Override
default URI getNamespace() {
return getQNameModule().getNamespace();
}
* YANG {@link Module <b><font color="#339900">revison</font></b>}
* keyword
*/
- // FIXME: BUG-4688: should return Optional<Revision>
- default Optional<Date> getRevision() {
+ @Override
+ default Optional<Revision> getRevision() {
return getQNameModule().getRevision();
}
* of YANG {@link Module <b><font
* color="#b8860b">description</font></b>} keyword
*/
+ @Override
String getDescription();
/**
* of YANG {@link Module <b><font
* color="#008b8b">reference</font></b>} keyword
*/
+ @Override
String getReference();
/**
* color="#dc143c">augment</font></b>} keyword and are
* lexicographically ordered
*/
- Set<AugmentationSchema> getAugmentations();
+ Set<AugmentationSchemaNode> getAugmentations();
/**
* Returns <code>RpcDefinition</code> instances which contain data from
* lexicographically ordered
*/
List<ExtensionDefinition> getExtensionSchemaNodes();
-
- /**
- * Returns unknown nodes defined in module.
- *
- * @return unknown nodes in lexicographical order
- */
- @Nonnull
- List<UnknownSchemaNode> getUnknownSchemaNodes();
}