*/
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;
/**
- * Represents YANG action statement.
+ * Represents YANG {@code action} statement.
*
* <p>
* The "action" statement is used to define an operation connected to a
* is an identifier, followed by a block of substatements that holds
* detailed action information. The argument is the name of the action.
*/
-@Beta
public interface ActionStatement extends OperationDeclaredStatement {
@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;
* model for anydata content to become known through protocol signaling or other means that are outside the scope
* of this document.
*/
-@Beta
public interface AnydataStatement extends DataDefinitionStatement, ConfigStatementAwareDeclaredStatement<QName>,
MandatoryStatementAwareDeclaredStatement<QName>, MustStatementAwareDeclaredStatement<QName> {
@Override
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code anyxml} statement.
+ */
public interface AnyxmlStatement extends DataDefinitionStatement, ConfigStatementAwareDeclaredStatement<QName>,
MandatoryStatementAwareDeclaredStatement<QName>, MustStatementAwareDeclaredStatement<QName> {
@Override
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code argument} statement.
+ */
@Rfc6020AbnfRule("argument-stmt")
public interface ArgumentStatement extends DeclaredStatement<QName> {
@Override
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
import org.opendaylight.yangtools.yang.model.api.stmt.DocumentedDeclaredStatement.WithStatus;
+/**
+ * Declared representation of a {@code augment} statement.
+ */
public interface AugmentStatement extends WithStatus<SchemaNodeIdentifier>,
DataDefinitionAwareDeclaredStatement<SchemaNodeIdentifier>,
NotificationStatementAwareDeclaredStatement<SchemaNodeIdentifier>,
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code base} statement.
+ */
public interface BaseStatement extends DeclaredStatement<QName> {
@Override
default StatementDefinition statementDefinition() {
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code belongs-to} statement.
+ */
public interface BelongsToStatement extends DeclaredStatement<Unqualified> {
@Override
default StatementDefinition statementDefinition() {
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code bit} statement.
+ */
public interface BitStatement extends DocumentedDeclaredStatement.WithStatus<String>,
IfFeatureAwareDeclaredStatement<String> {
@Override
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code case} statement.
+ */
public interface CaseStatement extends DocumentedDeclaredStatement.WithStatus<QName>,
DataDefinitionAwareDeclaredStatement<QName>, WhenStatementAwareDeclaredStatement<QName> {
@Override
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code choice} statement.
+ */
public interface ChoiceStatement extends DataDefinitionStatement, ConfigStatementAwareDeclaredStatement<QName>,
DefaultStatementAwareDeclaredStatement, MandatoryStatementAwareDeclaredStatement<QName> {
@Override
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code config} statement.
+ */
public interface ConfigStatement extends DeclaredStatement<Boolean> {
@Override
default StatementDefinition statementDefinition() {
return YangStmtMapping.CONFIG;
}
+ @Deprecated(since = "10.0.0", forRemoval = true)
default boolean getValue() {
return argument().booleanValue();
}
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code contact} statement.
+ */
public interface ContactStatement extends DeclaredStatement<String> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import java.util.Optional;
import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code container} statement.
+ */
public interface ContainerStatement extends DataDefinitionStatement,
DataDefinitionAwareDeclaredStatement.WithReusableDefinitions<QName>,
ActionStatementAwareDeclaredStatement<QName>, ConfigStatementAwareDeclaredStatement<QName>,
}
default @Nullable PresenceStatement getPresence() {
- final Optional<PresenceStatement> opt = findFirstDeclaredSubstatement(PresenceStatement.class);
- return opt.isPresent() ? opt.get() : null;
+ final var opt = findFirstDeclaredSubstatement(PresenceStatement.class);
+ return opt.isPresent() ? opt.orElseThrow() : null;
}
}
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code default} statement.
+ */
public interface DefaultStatement extends DeclaredStatement<String> {
@Override
default StatementDefinition statementDefinition() {
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code description} statement.
+ */
public interface DescriptionStatement extends DeclaredStatement<String> {
@Override
default StatementDefinition statementDefinition() {
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code deviate} statement.
+ */
public interface DeviateStatement extends DeclaredStatement<DeviateKind> {
@Override
default StatementDefinition statementDefinition() {
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute;
+/**
+ * Declared representation of a {@code deviation} statement.
+ */
public interface DeviationStatement extends DocumentedDeclaredStatement<Absolute> {
@Override
default StatementDefinition statementDefinition() {
return YangStmtMapping.DEVIATION;
}
- // FIXME: 7.0.0: evaluate usefulness of this
+ // FIXME: 11.0.0: evaluate usefulness of this
default @NonNull Collection<? extends DeviateStatement> getDeviateStatements() {
return declaredSubstatements(DeviateStatement.class);
}
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import java.util.Optional;
import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code enum} statement.
+ */
public interface EnumStatement extends DocumentedDeclaredStatement.WithStatus<String>,
IfFeatureAwareDeclaredStatement<String> {
@Override
}
default @Nullable ValueStatement getValue() {
- final Optional<ValueStatement> opt = findFirstDeclaredSubstatement(ValueStatement.class);
- return opt.isPresent() ? opt.get() : null;
+ final var opt = findFirstDeclaredSubstatement(ValueStatement.class);
+ return opt.isPresent() ? opt.orElseThrow() : null;
}
}
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code error-app-tag} statement.
+ */
public interface ErrorAppTagStatement extends DeclaredStatement<String> {
@Override
default StatementDefinition statementDefinition() {
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code error-message} statement.
+ */
public interface ErrorMessageStatement extends DeclaredStatement<String> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import java.util.Optional;
import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code extension} statement.
+ */
public interface ExtensionStatement extends DocumentedDeclaredStatement.WithStatus<QName> {
@Override
default StatementDefinition statementDefinition() {
}
default @Nullable ArgumentStatement getArgument() {
- final Optional<ArgumentStatement> opt = findFirstDeclaredSubstatement(ArgumentStatement.class);
- return opt.isPresent() ? opt.get() : null;
+ final var opt = findFirstDeclaredSubstatement(ArgumentStatement.class);
+ return opt.isPresent() ? opt.orElseThrow() : null;
}
}
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code feature} statement.
+ */
public interface FeatureStatement extends DocumentedDeclaredStatement.WithStatus<QName>,
IfFeatureAwareDeclaredStatement<QName> {
@Override
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code fraction-digits} statement.
+ */
public interface FractionDigitsStatement extends DeclaredStatement<Integer> {
@Override
default StatementDefinition statementDefinition() {
return YangStmtMapping.FRACTION_DIGITS;
}
+ @Deprecated(since = "10.0.0", forRemoval = true)
default int getValue() {
return argument().intValue();
}
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code grouping} statement.
+ */
public interface GroupingStatement extends DocumentedDeclaredStatement.WithStatus<QName>,
DataDefinitionAwareDeclaredStatement.WithReusableDefinitions<QName>,
NotificationStatementAwareDeclaredStatement<QName>, ActionStatementAwareDeclaredStatement<QName> {
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code identity} statement.
+ */
public interface IdentityStatement extends DocumentedDeclaredStatement.WithStatus<QName>,
IfFeatureAwareDeclaredStatement<QName> {
@Override
import static com.google.common.base.Verify.verifyNotNull;
import static java.util.Objects.requireNonNull;
-import com.google.common.annotations.Beta;
import com.google.common.collect.ImmutableSet;
import java.util.Arrays;
import java.util.HashSet;
*
* <p>
* The set of features referenced in this expression is available through {@link #getReferencedFeatures()}.
- *
- * @author Robert Varga
*/
-@Beta
public abstract sealed class IfFeatureExpr implements Immutable, Predicate<Set<QName>> {
private abstract static sealed class Single extends IfFeatureExpr {
final @NonNull QName qname;
*/
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.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
default StatementDefinition statementDefinition() {
return YangStmtMapping.IF_FEATURE;
}
-
- /**
- * In YANG 1.1 (RFC7950) implementation of IfFeatureStatement, the argument is a boolean expression over feature
- * names defined by "feature" statements. Hence, add implementation to return a predicate on a collection
- * of features against which to evaluate.
- *
- * @return Predicate on a collection of QNames against which to evaluate
- */
- @Beta
- // FIXME: YANGTOOLS-908: remove this method
- default @NonNull IfFeatureExpr getIfFeaturePredicate() {
- return argument();
- }
}
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import java.util.Optional;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
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;
+/**
+ * Declared representation of a {@code import} statement.
+ */
public interface ImportStatement extends DocumentedDeclaredStatement<Unqualified> {
@Override
default StatementDefinition statementDefinition() {
}
default @Nullable RevisionDateStatement getRevisionDate() {
- final Optional<RevisionDateStatement> opt = findFirstDeclaredSubstatement(RevisionDateStatement.class);
- return opt.isPresent() ? opt.get() : null;
+ final var opt = findFirstDeclaredSubstatement(RevisionDateStatement.class);
+ return opt.isPresent() ? opt.orElseThrow() : null;
}
}
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import java.util.Optional;
import org.eclipse.jdt.annotation.Nullable;
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;
+/**
+ * Declared representation of a {@code include} statement.
+ */
public interface IncludeStatement extends DocumentedDeclaredStatement<Unqualified> {
@Override
default StatementDefinition statementDefinition() {
}
default @Nullable RevisionDateStatement getRevisionDate() {
- final Optional<RevisionDateStatement> opt = findFirstDeclaredSubstatement(RevisionDateStatement.class);
- return opt.isPresent() ? opt.get() : null;
+ final var opt = findFirstDeclaredSubstatement(RevisionDateStatement.class);
+ return opt.isPresent() ? opt.orElseThrow() : null;
}
}
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code input} statement.
+ */
public interface InputStatement extends DeclaredStatement<QName>,
DataDefinitionAwareDeclaredStatement.WithReusableDefinitions<QName>,
MustStatementAwareDeclaredStatement<QName> {
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code leaf-list} statement.
+ */
public interface LeafListStatement extends MultipleElementsDeclaredStatement, TypeAwareDeclaredStatement,
ConfigStatementAwareDeclaredStatement<QName>, MustStatementAwareDeclaredStatement<QName> {
@Override
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code leaf} statement.
+ */
public interface LeafStatement extends DataDefinitionStatement, TypeAwareDeclaredStatement,
ConfigStatementAwareDeclaredStatement<QName>, DefaultStatementAwareDeclaredStatement,
MandatoryStatementAwareDeclaredStatement<QName>, MustStatementAwareDeclaredStatement<QName> {
package org.opendaylight.yangtools.yang.model.api.stmt;
import java.util.List;
-import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code length} statement.
+ */
public interface LengthStatement extends ConstrainedDocumentedDeclaredStatement<List<ValueRange>> {
@Override
default StatementDefinition statementDefinition() {
return YangStmtMapping.LENGTH;
}
-
- @Override
- @NonNull List<ValueRange> argument();
}
package org.opendaylight.yangtools.yang.model.api.stmt;
import java.util.Collection;
-import java.util.Optional;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code list} statement.
+ */
public interface ListStatement extends MultipleElementsDeclaredStatement,
DataDefinitionAwareDeclaredStatement.WithReusableDefinitions<QName>,
ConfigStatementAwareDeclaredStatement<QName>, ActionStatementAwareDeclaredStatement<QName>,
}
default @Nullable KeyStatement getKey() {
- final Optional<KeyStatement> opt = findFirstDeclaredSubstatement(KeyStatement.class);
- return opt.isPresent() ? opt.get() : null;
+ final var opt = findFirstDeclaredSubstatement(KeyStatement.class);
+ return opt.isPresent() ? opt.orElseThrow() : null;
}
default @NonNull Collection<? extends UniqueStatement> getUnique() {
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code mandatory} statement.
+ */
public interface MandatoryStatement extends DeclaredStatement<Boolean> {
@Override
default StatementDefinition statementDefinition() {
return YangStmtMapping.MANDATORY;
}
+ @Deprecated(since = "10.0.0", forRemoval = true)
default boolean getValue() {
- return argument();
+ return argument().booleanValue();
}
}
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code max-elements} statement.
+ */
public interface MaxElementsStatement extends DeclaredStatement<String> {
@Override
default StatementDefinition statementDefinition() {
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code min-elements} statement.
+ */
public interface MinElementsStatement extends DeclaredStatement<Integer> {
@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.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
* the string "invert-match". If a pattern has the "invert-match" modifier present, the type is restricted to values
* that do not match the pattern.
*/
-@Beta
public interface ModifierStatement extends DeclaredStatement<ModifierKind> {
@Override
default StatementDefinition statementDefinition() {
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code module} statement.
+ */
public interface ModuleStatement extends MetaDeclaredStatement<Unqualified>, ModuleHeaderGroup,
LinkageDeclaredStatement, RevisionAwareDeclaredStatement, BodyDeclaredStatement {
@Override
@Override
default YangVersionStatement getYangVersion() {
final Optional<YangVersionStatement> opt = findFirstDeclaredSubstatement(YangVersionStatement.class);
- return opt.isPresent() ? opt.get() : null;
+ return opt.isPresent() ? opt.orElseThrow() : null;
}
@Override
default NamespaceStatement getNamespace() {
- return findFirstDeclaredSubstatement(NamespaceStatement.class).get();
+ return findFirstDeclaredSubstatement(NamespaceStatement.class).orElseThrow();
}
@Override
default PrefixStatement getPrefix() {
- return findFirstDeclaredSubstatement(PrefixStatement.class).get();
+ return findFirstDeclaredSubstatement(PrefixStatement.class).orElseThrow();
}
}
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
import org.opendaylight.yangtools.yang.xpath.api.YangXPathExpression.QualifiedBound;
+/**
+ * Declared representation of a {@code must} statement.
+ */
public interface MustStatement extends ConstrainedDocumentedDeclaredStatement<QualifiedBound> {
@Override
default StatementDefinition statementDefinition() {
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code namespace} statement.
+ */
public interface NamespaceStatement extends DeclaredStatement<XMLNamespace> {
@Override
default StatementDefinition statementDefinition() {
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code notification} statement.
+ */
public interface NotificationStatement extends DocumentedDeclaredStatement.WithStatus<QName>,
DataDefinitionAwareDeclaredStatement.WithReusableDefinitions<QName>, IfFeatureAwareDeclaredStatement<QName>,
MustStatementAwareDeclaredStatement<QName> {
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code ordered-by} statement.
+ */
public interface OrderedByStatement extends DeclaredStatement<Ordering> {
@Override
default StatementDefinition statementDefinition() {
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code organization} statement.
+ */
public interface OrganizationStatement extends DeclaredStatement<String> {
@Override
default StatementDefinition statementDefinition() {
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code output} statement.
+ */
public interface OutputStatement extends DeclaredStatement<QName>,
DataDefinitionAwareDeclaredStatement.WithReusableDefinitions<QName>,
MustStatementAwareDeclaredStatement<QName> {
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code path} statement.
+ */
public interface PathStatement extends DeclaredStatement<PathExpression> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import java.util.Optional;
import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code pattern} statement.
+ */
public interface PatternStatement extends ConstrainedDocumentedDeclaredStatement<PatternExpression> {
@Override
default StatementDefinition statementDefinition() {
* @return modifier statement, null if not present.
*/
default @Nullable ModifierStatement getModifierStatement() {
- final Optional<ModifierStatement> opt = findFirstDeclaredSubstatement(ModifierStatement.class);
- return opt.isPresent() ? opt.get() : null;
+ final var opt = findFirstDeclaredSubstatement(ModifierStatement.class);
+ return opt.isPresent() ? opt.orElseThrow() : null;
}
}
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code position} statement.
+ */
public interface PositionStatement extends DeclaredStatement<Uint32> {
@Override
default StatementDefinition statementDefinition() {
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code prefix} statement.
+ */
public interface PrefixStatement extends DeclaredStatement<String> {
@Override
default StatementDefinition statementDefinition() {
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code presence} statement.
+ */
public interface PresenceStatement extends DeclaredStatement<String> {
@Override
default StatementDefinition statementDefinition() {
package org.opendaylight.yangtools.yang.model.api.stmt;
import java.util.List;
-import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code range} statement.
+ */
public interface RangeStatement extends ConstrainedDocumentedDeclaredStatement<List<ValueRange>> {
@Override
default StatementDefinition statementDefinition() {
return YangStmtMapping.RANGE;
}
-
- @Override
- @NonNull List<ValueRange> argument();
}
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code reference} statement.
+ */
public interface ReferenceStatement extends DeclaredStatement<String> {
@Override
default StatementDefinition statementDefinition() {
package org.opendaylight.yangtools.yang.model.api.stmt;
import java.util.Collection;
-import java.util.Optional;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Descendant;
+/**
+ * Declared representation of a {@code refine} statement.
+ */
public interface RefineStatement extends ConfigStatementAwareDeclaredStatement<Descendant>,
DocumentedDeclaredStatement<Descendant>, IfFeatureAwareDeclaredStatement<Descendant>,
MandatoryStatementAwareDeclaredStatement<Descendant>,
}
default @Nullable PresenceStatement getPresence() {
- final Optional<PresenceStatement> opt = findFirstDeclaredSubstatement(PresenceStatement.class);
- return opt.isPresent() ? opt.get() : null;
+ final var opt = findFirstDeclaredSubstatement(PresenceStatement.class);
+ return opt.isPresent() ? opt.orElseThrow() : null;
}
default @Nullable MinElementsStatement getMinElements() {
- final Optional<MinElementsStatement> opt = findFirstDeclaredSubstatement(MinElementsStatement.class);
- return opt.isPresent() ? opt.get() : null;
+ final var opt = findFirstDeclaredSubstatement(MinElementsStatement.class);
+ return opt.isPresent() ? opt.orElseThrow() : null;
}
default @Nullable MaxElementsStatement getMaxElements() {
- final Optional<MaxElementsStatement> opt = findFirstDeclaredSubstatement(MaxElementsStatement.class);
- return opt.isPresent() ? opt.get() : null;
+ final var opt = findFirstDeclaredSubstatement(MaxElementsStatement.class);
+ return opt.isPresent() ? opt.orElseThrow() : null;
}
}
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code require-instance} statement.
+ */
public interface RequireInstanceStatement extends DeclaredStatement<Boolean> {
@Override
default StatementDefinition statementDefinition() {
return YangStmtMapping.REQUIRE_INSTANCE;
}
+ @Deprecated(since = "10.0.0", forRemoval = true)
default boolean getValue() {
return argument().booleanValue();
}
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code revision-date} statement.
+ */
public interface RevisionDateStatement extends DeclaredStatement<Revision> {
@Override
default StatementDefinition statementDefinition() {
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code revision} statement.
+ */
public interface RevisionStatement extends DocumentedDeclaredStatement<Revision> {
@Override
default StatementDefinition statementDefinition() {
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code rpc} statement.
+ */
public interface RpcStatement extends OperationDeclaredStatement {
@Override
default StatementDefinition statementDefinition() {
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code status} statement.
+ */
public interface StatusStatement extends DeclaredStatement<Status> {
@Override
default StatementDefinition statementDefinition() {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import java.util.Optional;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
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;
+/**
+ * Declared representation of a {@code submodule} statement.
+ */
public interface SubmoduleStatement extends MetaDeclaredStatement<Unqualified>, LinkageDeclaredStatement,
RevisionAwareDeclaredStatement, BodyDeclaredStatement {
@Override
}
default @Nullable YangVersionStatement getYangVersion() {
- final Optional<YangVersionStatement> opt = findFirstDeclaredSubstatement(YangVersionStatement.class);
- return opt.isPresent() ? opt.get() : null;
+ final var opt = findFirstDeclaredSubstatement(YangVersionStatement.class);
+ return opt.isPresent() ? opt.orElseThrow() : null;
}
default @NonNull BelongsToStatement getBelongsTo() {
- return findFirstDeclaredSubstatement(BelongsToStatement.class).get();
+ return findFirstDeclaredSubstatement(BelongsToStatement.class).orElseThrow();
}
}
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code type} statement.
+ */
@Rfc6020AbnfRule("type-stmt")
public interface TypeStatement extends DeclaredStatement<QName> {
@Override
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code typedef} statement.
+ */
public interface TypedefStatement extends DocumentedDeclaredStatement.WithStatus<QName>, TypeAwareDeclaredStatement,
DefaultStatementAwareDeclaredStatement {
@Override
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code units} statement.
+ */
public interface UnitsStatement extends DeclaredStatement<String> {
@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.meta.DeclaredStatement;
*
* @param <A> Argument type ({@link Empty} if statement does not have argument.)
*/
-@Beta
// FIXME: remove this interface once UnknownSchemaNode is gone
public interface UnknownStatement<A> extends DeclaredStatement<A> {
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import com.google.common.annotations.Beta;
import org.opendaylight.yangtools.yang.common.Empty;
/**
* This construct does not have a {@link UnknownEffectiveStatement} counterpart because we cannot reasonably build an
* effective model of something we do not recognize.
*/
-@Beta
public interface UnrecognizedStatement extends UnknownStatement<Object> {
/**
* {@inheritDoc}
*
* <p>
- * This method can returns
+ * This method can return
* <ul>
* <li>{@link String} if the statement has an argument</li>
* <li>{@link Empty} if the statement does not have an argument</li>
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code uses} statement.
+ */
public interface UsesStatement extends DataDefinitionStatement {
@Override
default StatementDefinition statementDefinition() {
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code value} statement.
+ */
public interface ValueStatement extends DeclaredStatement<Integer> {
@Override
default StatementDefinition statementDefinition() {
return YangStmtMapping.VALUE;
}
+ @Deprecated(since = "10.0.0", forRemoval = true)
default int getValue() {
return argument().intValue();
}
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
import org.opendaylight.yangtools.yang.xpath.api.YangXPathExpression.QualifiedBound;
+/**
+ * Declared representation of a {@code when} statement.
+ */
public interface WhenStatement extends DocumentedDeclaredStatement<QualifiedBound> {
@Override
default StatementDefinition statementDefinition() {
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code yang-version} statement.
+ */
public interface YangVersionStatement extends DeclaredStatement<YangVersion> {
@Override
default StatementDefinition statementDefinition() {
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+/**
+ * Declared representation of a {@code yin-element} statement.
+ */
public interface YinElementStatement extends DeclaredStatement<Boolean> {
@Override
default StatementDefinition statementDefinition() {
return YangStmtMapping.YIN_ELEMENT;
}
+ @Deprecated(since = "10.0.0", forRemoval = true)
default boolean getValue() {
- return argument();
+ return argument().booleanValue();
}
}
final var ifFeatureStatements = anyxmlStatement.getIfFeatures();
assertNotNull(ifFeatureStatements);
assertEquals(1, ifFeatureStatements.size());
- final Predicate<Set<QName>> ifFeaturePredicate = ifFeatureStatements.iterator().next().getIfFeaturePredicate();
+ final Predicate<Set<QName>> ifFeaturePredicate = ifFeatureStatements.iterator().next().argument();
assertNotNull(ifFeaturePredicate);
final var mustStatements = anyxmlStatement.getMustStatements();