2 * Copyright (c) 2017 Pantheon Technologies, s.r.o. and others. All rights reserved.
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
8 package org.opendaylight.yangtools.rfc8040.model.api;
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;
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.
21 public interface YangDataSchemaNode extends UnknownSchemaNode, DataNodeContainer {
23 YangDataEffectiveStatement asEffectiveStatement();
26 * Return a {@link ContainerLike} backed by this definition's {@link #getChildNodes()}.
28 * @return A compatibility {@link ContainerLike}
30 default @NonNull ContainerLikeCompat toContainerLike() {
31 return new YangDataAsContainer(this);