All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.opendaylight.yangtools.binding.YangData Maven / Gradle / Ivy

/*
 * Copyright (c) 2023 PANTHEON.tech, s.r.o. 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.binding;

/**
 * A piece of YANG-modeled data, as defined by RESTCONF
 * {@code yang-data extension}.
 *
 * 

* This is quite similar to a {@link DataObject}, but it cannot be directly stored in a data store. Its data subtree may * actually have a relationship to a data store subtree -- but that part is dependent on the context in which this * object is used. * *

* As per the extension definition, the structure of children is such that there is a single {@code container} which * represents the content. This is variadic and may contain, for example, a modeling indirection through a number of * {@code choice} and {@code case} statements. Unlike a {@link DataObject}, though, this construct is not subject to * {@code augment} statements nor any sort of extensibility. * *

* Furthermore {@code rc:yang-data} can only appear as a top-level module contract and therefore the code generation is * limited to a single interface, which only provides the default implementation of {@link #implementedInterface()} * bound to itself. * * @param Generated interface type */ public non-sealed interface YangData> extends BindingObject, DataContainer { @Override Class implementedInterface(); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy