
org.opendaylight.yangtools.binding.ChoiceIn Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of binding-spec Show documentation
Show all versions of binding-spec Show documentation
Java library supporting code generated by YANG Binding
The newest version!
/*
* Copyright (c) 2018 Pantheon Technologies, 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 choice of child nodes within a parent container. This marker interface allows binding interfaces generated for
* {@code choice} statements to their defining container, without implying {@link DataObject} and {@link ChildOf}
* relationship.
*
* This marker interface is also inherited by interfaces generated for {@code case} statements, similarly marking
* those interfaces as usable within scope when the statement which defined the {@code choice} statement. This allows
* us to bind {@code grouping}s to their {@code uses} references within an (implicit or explicit) {@code case},
* effectively forming an addressing path from {@link DataRoot} or a {@link DataContainer}. Given the following
* generated code:
*
{@code
* interface Grouping extends DataObject;
* interface GroupingChild extends ChildOf;
*
* interface Parent extends DataContainer;
* interface Choice implements ChoiceIn;
* interface Case extends Choice, Grouping;
* }
* we can safely make the inference of {@code GroupingChild -> childOf -> Case -> choiceIn -> Parent}.
*
* @param Parent container
*/
public non-sealed interface ChoiceIn
extends DataContainer {
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy