Bump versions to 14.0.0-SNAPSHOT
[yangtools.git] / model / rfc8040-model-api / src / main / java / org / opendaylight / yangtools / rfc8040 / model / api / YangDataSchemaNode.java
1 /*
2  * Copyright (c) 2017 Pantheon Technologies, s.r.o. and others. All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.yangtools.rfc8040.model.api;
9
10 import org.eclipse.jdt.annotation.NonNull;
11 import org.opendaylight.yangtools.yang.model.api.ContainerLike;
12 import org.opendaylight.yangtools.yang.model.api.ContainerLikeCompat;
13 import org.opendaylight.yangtools.yang.model.api.DataNodeContainer;
14 import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
15
16 /**
17  * Represents 'yang-data' extension statement defined in
18  * <a href="https://www.rfc-editor.org/rfc/rfc8040#section-8">RFC8040</a>. This statement must appear as a top-level
19  * statement, otherwise it is ignored and does not appear in the final schema context.
20  */
21 public interface YangDataSchemaNode extends UnknownSchemaNode, DataNodeContainer {
22     @Override
23     YangDataEffectiveStatement asEffectiveStatement();
24
25     /**
26      * Return a {@link ContainerLike} backed by this definition's {@link #getChildNodes()}.
27      *
28      * @return A compatibility {@link ContainerLike}
29      */
30     default @NonNull ContainerLikeCompat toContainerLike() {
31         return new YangDataAsContainer(this);
32     }
33 }