*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code action} statement.
+ */
public interface ActionEffectiveStatement extends SchemaTreeEffectiveStatement<ActionStatement>,
DataTreeAwareEffectiveStatement<QName, ActionStatement> {
@Override
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code anydata} statement.
+ */
public interface AnydataEffectiveStatement extends DataTreeEffectiveStatement<AnydataStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code anyxml} statement.
+ */
public interface AnyxmlEffectiveStatement extends DataTreeEffectiveStatement<AnyxmlStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code argument} statement.
+ */
public interface ArgumentEffectiveStatement extends EffectiveStatement<QName, ArgumentStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
* {@link EffectiveStatement} representation of a {@code augment} statement as defined by
* <a href="https://datatracker.ietf.org/doc/html/rfc7950#section-7.17">RFC7950</a>.
*/
-@Beta
public interface AugmentEffectiveStatement
extends SchemaTreeAwareEffectiveStatement<SchemaNodeIdentifier, AugmentStatement> {
@Override
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code base} statement.
+ */
public interface BaseEffectiveStatement extends EffectiveStatement<QName, BaseStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.common.UnresolvedQName.Unqualified;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code belongs-to} statement.
+ */
public interface BelongsToEffectiveStatement extends EffectiveStatement<Unqualified, BelongsToStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import java.util.Optional;
import org.opendaylight.yangtools.yang.common.Uint32;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code bit} statement.
+ */
public interface BitEffectiveStatement extends EffectiveStatement<String, BitStatement> {
@Override
default StatementDefinition statementDefinition() {
return YangStmtMapping.BIT;
}
- default Optional<Uint32> getDeclaredPosition() {
+ default Optional<Uint32> findDeclaredPosition() {
return findFirstEffectiveSubstatementArgument(PositionEffectiveStatement.class);
}
}
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
-public interface CaseEffectiveStatement extends SchemaTreeEffectiveStatement<CaseStatement>,
- DataTreeAwareEffectiveStatement<QName, CaseStatement> {
+/**
+ * Effective representation of a {@code case} statement.
+ */
+public interface CaseEffectiveStatement
+ extends SchemaTreeEffectiveStatement<CaseStatement>, DataTreeAwareEffectiveStatement<QName, CaseStatement> {
@Override
default StatementDefinition statementDefinition() {
return YangStmtMapping.CASE;
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
-public interface ChoiceEffectiveStatement extends SchemaTreeEffectiveStatement<ChoiceStatement>,
- DataTreeAwareEffectiveStatement<QName, ChoiceStatement> {
+/**
+ * Effective representation of a {@code choice} statement.
+ */
+public interface ChoiceEffectiveStatement
+ extends SchemaTreeEffectiveStatement<ChoiceStatement>, DataTreeAwareEffectiveStatement<QName, ChoiceStatement> {
@Override
default StatementDefinition statementDefinition() {
return YangStmtMapping.CHOICE;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Effective representation of a {@code config} statement.
+ */
public interface ConfigEffectiveStatement extends EffectiveStatement<Boolean, ConfigStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code contact} statement.
+ */
public interface ContactEffectiveStatement extends EffectiveStatement<String, ContactStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code container} statement.
+ */
public interface ContainerEffectiveStatement extends DataTreeEffectiveStatement<ContainerStatement>,
DataTreeAwareEffectiveStatement<QName, ContainerStatement> {
@Override
import static java.util.Objects.requireNonNull;
import static org.opendaylight.yangtools.yang.model.api.stmt.DefaultMethodHelpers.filterOptional;
-import com.google.common.annotations.Beta;
import java.util.Optional;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.NonNullByDefault;
* @param <A> Argument type
* @param <D> Class representing declared version of this statement.
*/
-@Beta
public interface DataTreeAwareEffectiveStatement<A, D extends DeclaredStatement<A>>
extends SchemaTreeAwareEffectiveStatement<A, D> {
/**
*
* @param qname Child identifier
* @return Data tree child, or empty
- * @throws NullPointerException if {@code qname} is null
+ * @throws NullPointerException if {@code qname} is {@code null}
*/
default @NonNull Optional<DataTreeEffectiveStatement<?>> findDataTreeNode(final @NonNull QName qname) {
return get(DataTreeNamespace.class, requireNonNull(qname));
* @param type Effective substatement class
* @param qname Child identifier
* @return Data tree child, or empty
- * @throws NullPointerException if any argument is null
+ * @throws NullPointerException if any argument is {@code null}
*/
default <E> @NonNull Optional<E> findDataTreeNode(final Class<E> type, final @NonNull QName qname) {
return filterOptional(type, findDataTreeNode(qname));
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
*
* @param <D> Declared statement type
*/
-@Beta
public interface DataTreeEffectiveStatement<D extends DeclaredStatement<QName>>
extends SchemaTreeEffectiveStatement<D> {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code default} statement.
+ */
public interface DefaultEffectiveStatement extends EffectiveStatement<String, DefaultStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code description} statement.
+ */
public interface DescriptionEffectiveStatement extends EffectiveStatement<String, DescriptionStatement> {
@Override
- default StatementDefinition statementDefinition() {
+ default StatementDefinition statementDefinition() {
return YangStmtMapping.DESCRIPTION;
}
}
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.DeviateKind;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code deviate} statement.
+ */
public interface DeviateEffectiveStatement extends EffectiveStatement<DeviateKind, DeviateStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute;
-@Beta
+/**
+ * Effective representation of a {@code deviation} statement.
+ */
public interface DeviationEffectiveStatement extends EffectiveStatement<Absolute, DeviationStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code enum} statement.
+ */
public interface EnumEffectiveStatement extends EffectiveStatement<String, EnumStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code error-app-tag} statement.
+ */
public interface ErrorAppTagEffectiveStatement extends EffectiveStatement<String, ErrorAppTagStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code error-message} statement.
+ */
public interface ErrorMessageEffectiveStatement extends EffectiveStatement<String, ErrorMessageStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of an {@code extension} statement.
+ */
public interface ExtensionEffectiveStatement extends NamespacedEffectiveStatement<ExtensionStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code feature} statement.
+ */
public interface FeatureEffectiveStatement extends NamespacedEffectiveStatement<FeatureStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code fraction-digits} statement.
+ */
public interface FractionDigitsEffectiveStatement extends EffectiveStatement<Integer, FractionDigitsStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code grouping} statement.
+ */
public interface GroupingEffectiveStatement extends DataTreeAwareEffectiveStatement<QName, GroupingStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code identity} statement.
+ */
public interface IdentityEffectiveStatement extends NamespacedEffectiveStatement<IdentityStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code if-feature} statement.
+ */
public interface IfFeatureEffectiveStatement extends EffectiveStatement<IfFeatureExpr, IfFeatureStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.common.UnresolvedQName.Unqualified;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code import} statement.
+ */
public interface ImportEffectiveStatement extends EffectiveStatement<Unqualified, ImportStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.common.UnresolvedQName.Unqualified;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code include} statement.
+ */
public interface IncludeEffectiveStatement extends EffectiveStatement<Unqualified, IncludeStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code input} statement.
+ */
public interface InputEffectiveStatement
extends DataTreeEffectiveStatement<InputStatement>, DataTreeAwareEffectiveStatement<QName, InputStatement> {
@Override
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import java.util.Set;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code key} statement.
+ */
public interface KeyEffectiveStatement extends EffectiveStatement<Set<QName>, KeyStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code leaf} statement.
+ */
public interface LeafEffectiveStatement extends DataTreeEffectiveStatement<LeafStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
* {@link EffectiveStatement} representation of a {@code leaf-list} statement as defined by
* <a href="https://datatracker.ietf.org/doc/html/rfc7950#section-7.7">RFC7950</a>.
*/
-@Beta
public interface LeafListEffectiveStatement extends DataTreeEffectiveStatement<LeafListStatement>,
OrderedByAwareEffectiveStatement<QName, LeafListStatement> {
@Override
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import java.util.List;
import org.opendaylight.yangtools.yang.model.api.ConstraintMetaDefinition;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code length} statement.
+ */
public interface LengthEffectiveStatement extends EffectiveStatement<List<ValueRange>, LengthStatement>,
- // FIXME: 7.0.0: reconsider this interface extension
- // FIXME: 7.0.0: if we are keeping it, consider a default implementation (shared with others effective
+ // FIXME: 11.0.0: reconsider this interface extension
+ // FIXME: 11.0.0: if we are keeping it, consider a default implementation (shared with others effective
// statements)
ConstraintMetaDefinition {
@Override
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
* {@link EffectiveStatement} representation of a {@code list} statement as defined by
* <a href="https://datatracker.ietf.org/doc/html/rfc7950#section-7.8">RFC7950</a>.
*/
-@Beta
public interface ListEffectiveStatement extends DataTreeEffectiveStatement<ListStatement>,
DataTreeAwareEffectiveStatement<QName, ListStatement>, OrderedByAwareEffectiveStatement<QName, ListStatement> {
@Override
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Effective representation of a {@code mandatory} statement.
+ */
public interface MandatoryEffectiveStatement extends EffectiveStatement<Boolean, MandatoryStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code max-elements} statement.
+ */
public interface MaxElementsEffectiveStatement extends EffectiveStatement<String, MaxElementsStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code min-elements} statement.
+ */
public interface MinElementsEffectiveStatement extends EffectiveStatement<Integer, MinElementsStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
import org.opendaylight.yangtools.yang.model.api.type.ModifierKind;
-@Beta
+/**
+ * Effective representation of a {@code modifier} statement.
+ */
public interface ModifierEffectiveStatement extends EffectiveStatement<ModifierKind, ModifierStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import java.util.Optional;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.common.QNameModule;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
/**
- * Effective view of a {@link ModuleStatement}.
+ * Effective view of a {@code module} statement.
*/
-@Beta
public interface ModuleEffectiveStatement
extends DataTreeAwareEffectiveStatement<Unqualified, ModuleStatement>, SchemaTreeRoot {
/**
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
import org.opendaylight.yangtools.yang.xpath.api.YangXPathExpression.QualifiedBound;
-@Beta
+/**
+ * Effective representation of a {@code must} statement.
+ */
public interface MustEffectiveStatement extends EffectiveStatement<QualifiedBound, MustStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.common.XMLNamespace;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code namespace} statement.
+ */
public interface NamespaceEffectiveStatement extends EffectiveStatement<XMLNamespace, NamespaceStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.concepts.Identifiable;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
* Common super-interface for all statements which can be held in one of the {@link EffectiveStatementNamespace}s.
*
* @param <D> Declared statement type
- *
- * @author Robert Varga
*/
-@Beta
public interface NamespacedEffectiveStatement<D extends DeclaredStatement<QName>>
- extends EffectiveStatement<QName, D>, Identifiable<QName> {
-
+ extends EffectiveStatement<QName, D>, Identifiable<QName> {
@Override
default QName getIdentifier() {
return argument();
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code notification} statement.
+ */
public interface NotificationEffectiveStatement extends SchemaTreeEffectiveStatement<NotificationStatement>,
DataTreeAwareEffectiveStatement<QName, NotificationStatement> {
@Override
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.common.Empty;
import org.opendaylight.yangtools.yang.common.Ordering;
* @param <A> Argument type ({@link Empty} if statement does not have argument.)
* @param <D> Class representing declared version of this statement.
*/
-@Beta
public interface OrderedByAwareEffectiveStatement<A, D extends DeclaredStatement<A>> extends EffectiveStatement<A, D> {
/**
* Return the effective {@link Ordering} of this statement.
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.common.Ordering;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code ordered-by} statement.
+ */
public interface OrderedByEffectiveStatement extends EffectiveStatement<Ordering, OrderedByStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code organization} statement.
+ */
public interface OrganizationEffectiveStatement extends EffectiveStatement<String, OrganizationStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code output} statement.
+ */
public interface OutputEffectiveStatement
extends DataTreeEffectiveStatement<OutputStatement>, DataTreeAwareEffectiveStatement<QName, OutputStatement> {
@Override
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.PathExpression;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code path} statement.
+ */
public interface PathEffectiveStatement extends EffectiveStatement<PathExpression, PathStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import java.util.Optional;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.type.ModifierKind;
import org.opendaylight.yangtools.yang.model.api.type.PatternConstraint;
-@Beta
+/**
+ * Effective representation of a {@code pattern} statement.
+ */
public interface PatternEffectiveStatement
extends EffectiveStatement<PatternExpression, PatternStatement>, PatternConstraint {
@Override
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.common.Uint32;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code position} statement.
+ */
public interface PositionEffectiveStatement extends EffectiveStatement<Uint32, PositionStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code prefix} statement.
+ */
public interface PrefixEffectiveStatement extends EffectiveStatement<String, PrefixStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code presence} statement.
+ */
public interface PresenceEffectiveStatement extends EffectiveStatement<String, PresenceStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import java.util.List;
import org.opendaylight.yangtools.yang.model.api.ConstraintMetaDefinition;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code range} statement.
+ */
public interface RangeEffectiveStatement extends EffectiveStatement<List<ValueRange>, RangeStatement>,
- // FIXME: 7.0.0: reconsider this interface extension
- // FIXME: 7.0.0: if we are keeping it, consider a default implementation (shared with others effective
- // statements)
+ // FIXME: 11.0.0: reconsider this interface extension
+ // FIXME: 11.0.0: if we are keeping it, consider a default implementation (shared with others effective
+ // statements)
ConstraintMetaDefinition {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code reference} statement.
+ */
public interface ReferenceEffectiveStatement extends EffectiveStatement<String, ReferenceStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Descendant;
-@Beta
+/**
+ * Effective representation of a {@code refine} statement.
+ */
public interface RefineEffectiveStatement extends EffectiveStatement<Descendant, RefineStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code require-instance} statement.
+ */
public interface RequireInstanceEffectiveStatement extends EffectiveStatement<Boolean, RequireInstanceStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.common.Revision;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code revision-date} statement.
+ */
public interface RevisionDateEffectiveStatement extends EffectiveStatement<Revision, RevisionDateStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.common.Revision;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code revision} statement.
+ */
public interface RevisionEffectiveStatement extends EffectiveStatement<Revision, RevisionStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code rpc} statement.
+ */
public interface RpcEffectiveStatement
extends SchemaTreeEffectiveStatement<RpcStatement>, DataTreeAwareEffectiveStatement<QName, RpcStatement> {
@Override
import static java.util.Objects.requireNonNull;
import static org.opendaylight.yangtools.yang.model.api.stmt.DefaultMethodHelpers.filterOptional;
-import com.google.common.annotations.Beta;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
* @param <A> Argument type
* @param <D> Class representing declared version of this statement.
*/
-@Beta
public interface SchemaTreeAwareEffectiveStatement<A, D extends DeclaredStatement<A>> extends EffectiveStatement<A, D> {
/**
* Namespace of {@code schema node}s defined within this node.
final Iterator<QName> it = qnames.iterator();
SchemaTreeAwareEffectiveStatement<?, ?> parent = this;
while (true) {
- final Optional<SchemaTreeEffectiveStatement<?>> found = parent.findSchemaTreeNode(it.next());
+ final var found = parent.findSchemaTreeNode(it.next());
if (!it.hasNext() || found.isEmpty()) {
return found;
}
final SchemaTreeEffectiveStatement<?> node = found.orElseThrow();
- if (node instanceof SchemaTreeAwareEffectiveStatement) {
- parent = (SchemaTreeAwareEffectiveStatement<?, ?>) node;
+ if (node instanceof SchemaTreeAwareEffectiveStatement<?, ?> aware) {
+ parent = aware;
} else {
return Optional.empty();
}
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.SchemaNode;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
*
* @param <D> Declared statement type
*/
-@Beta
public interface SchemaTreeEffectiveStatement<D extends DeclaredStatement<QName>>
extends NamespacedEffectiveStatement<D> {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.Status;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code status} statement.
+ */
public interface StatusEffectiveStatement extends EffectiveStatement<Status, StatusStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.common.UnresolvedQName.Unqualified;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
* {@link ModuleEffectiveStatement.PrefixToEffectiveModuleNamespace} and
* {@link ModuleEffectiveStatement.QNameModuleToPrefixNamespace} namespaces.
*/
-@Beta
public interface SubmoduleEffectiveStatement
extends DataTreeAwareEffectiveStatement<Unqualified, SubmoduleStatement> {
@Override
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import java.util.Set;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Descendant;
/**
- * Interface describing YANG 'unique' constraint.
+ * Interface describing YANG {@code unique} statement.
*
* <p>
* The 'unique' constraint specifies that the combined values of all the leaf instances specified in the argument
* string, including leafs with default values, MUST be unique within all list entry instances in which all referenced
* leafs exist (for more information see RFC-6020 section 7.8.3.).
*/
-@Beta
public interface UniqueEffectiveStatement extends EffectiveStatement<Set<Descendant>, UniqueStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code units} statement.
+ */
public interface UnitsEffectiveStatement extends EffectiveStatement<String, UnitsStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.common.Empty;
import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
* @param <A> Argument type ({@link Empty} if statement does not have argument.)
* @param <D> Class representing declared version of this statement.
*/
-@Beta
// FIXME: remove this interface once UnknownSchemaNode is gone
public interface UnknownEffectiveStatement<A, D extends UnknownStatement<A>> extends EffectiveStatement<A, D> {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code uses} statement.
+ */
public interface UsesEffectiveStatement extends EffectiveStatement<QName, UsesStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code value} statement.
+ */
public interface ValueEffectiveStatement extends EffectiveStatement<Integer, ValueStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
import org.opendaylight.yangtools.yang.xpath.api.YangXPathExpression.QualifiedBound;
-@Beta
+/**
+ * Effective representation of a {@code when} statement.
+ */
public interface WhenEffectiveStatement extends EffectiveStatement<QualifiedBound, WhenStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.common.YangVersion;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code yang-version} statement.
+ */
public interface YangVersionEffectiveStatement extends EffectiveStatement<YangVersion, YangVersionStatement> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-@Beta
+/**
+ * Effective representation of a {@code yin-element} statement.
+ */
public interface YinElementEffectiveStatement extends EffectiveStatement<Boolean, YinElementStatement> {
@Override
default StatementDefinition statementDefinition() {
if (subStmt instanceof BitEffectiveStatement) {
final BitEffectiveStatement bitSubStmt = (BitEffectiveStatement) subStmt;
- final Optional<Uint32> declaredPosition = bitSubStmt.getDeclaredPosition();
+ final Optional<Uint32> declaredPosition = bitSubStmt.findDeclaredPosition();
final Uint32 effectivePos;
if (declaredPosition.isEmpty()) {
if (highestPosition != null) {
@Override
Bit addRestrictedBit(final EffectiveStmtCtx stmt, final BitsTypeDefinition base, final BitEffectiveStatement bit) {
// FIXME: this looks like a duplicate of BitsSpecificationEffectiveStatement
- final Optional<Uint32> declaredPosition = bit.getDeclaredPosition();
+ final Optional<Uint32> declaredPosition = bit.findDeclaredPosition();
final Uint32 effectivePos;
if (declaredPosition.isEmpty()) {
effectivePos = getBaseTypeBitPosition(bit.argument(), base, stmt);