Mass-promote DeclaredStatement captures 93/102893/3
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 26 Oct 2022 15:30:27 +0000 (17:30 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 26 Oct 2022 17:14:23 +0000 (19:14 +0200)
Declared statements are in a reasoable shape. Add some documentation and
move them out of @Beta.

Change-Id: Ib690d613c28d249c34d29ee064b9d59f6a0b286b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
70 files changed:
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ActionStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/AnydataStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/AnyxmlStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ArgumentStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/AugmentStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BaseStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BelongsToStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BitStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/CaseStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ChoiceStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ConfigStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ContactStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ContainerStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DefaultStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DescriptionStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DeviateStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DeviationStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/EnumStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ErrorAppTagStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ErrorMessageStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ExtensionStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/FeatureStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/FractionDigitsStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/GroupingStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/IdentityStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/IfFeatureExpr.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/IfFeatureStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ImportStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/IncludeStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/InputStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/LeafListStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/LeafStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/LengthStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ListStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MandatoryStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MaxElementsStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MinElementsStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ModifierStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ModuleStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MustStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/NamespaceStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/NotificationStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/OrderedByStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/OrganizationStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/OutputStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PathStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PatternStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PositionStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PrefixStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PresenceStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RangeStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ReferenceStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RefineStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RequireInstanceStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RevisionDateStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RevisionStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RpcStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/StatusStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/SubmoduleStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/TypeStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/TypedefStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/UnitsStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/UnknownStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/UnrecognizedStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/UsesStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ValueStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/WhenStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/YangVersionStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/YinElementStatement.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/DeclaredStatementsTest.java

index 7814e74df16febe06ab12bbd38fd29b92b0a1524..7e7fe18f7669cc9b3fcec7d4983f11d0156c26b9 100644 (file)
@@ -7,12 +7,11 @@
  */
 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
@@ -20,7 +19,6 @@ import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
  * 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() {
index cf9f5d70f131df15eaaf65ac3b2fe8a137f8d3ad..22277b798ab48ec8812f883075b8d3d696e2cfdd 100644 (file)
@@ -7,7 +7,6 @@
  */
 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;
@@ -22,7 +21,6 @@ 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
index 6c85b6f81edbc657cefc0496f3564068709630d5..7d279218d3e52a2b81c84bdb1bb2d563ca8dd26a 100644 (file)
@@ -11,6 +11,9 @@ 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 anyxml} statement.
+ */
 public interface AnyxmlStatement extends DataDefinitionStatement, ConfigStatementAwareDeclaredStatement<QName>,
         MandatoryStatementAwareDeclaredStatement<QName>, MustStatementAwareDeclaredStatement<QName> {
     @Override
index 39b6d8252c43bbb4e6b2a6b3402b79718df1ce31..30219a8a9eaf28539116fb3c2a775c5fd48f0d0f 100644 (file)
@@ -14,6 +14,9 @@ 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;
 
+/**
+ * Declared representation of a {@code argument} statement.
+ */
 @Rfc6020AbnfRule("argument-stmt")
 public interface ArgumentStatement extends DeclaredStatement<QName> {
     @Override
index b502b161d27135a420138496b66b93dafc9a01db..5ed7f2fef223e20d47e62867c85ec52a4d4bf3a7 100644 (file)
@@ -13,6 +13,9 @@ 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.DocumentedDeclaredStatement.WithStatus;
 
+/**
+ * Declared representation of a {@code augment} statement.
+ */
 public interface AugmentStatement extends WithStatus<SchemaNodeIdentifier>,
         DataDefinitionAwareDeclaredStatement<SchemaNodeIdentifier>,
         NotificationStatementAwareDeclaredStatement<SchemaNodeIdentifier>,
index 33d19ad00a36d9d76870d86fb14704a86e175763..d542f77f08db7d815a7d7bfd1d1f4bae2d71c394 100644 (file)
@@ -12,6 +12,9 @@ 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;
 
+/**
+ * Declared representation of a {@code base} statement.
+ */
 public interface BaseStatement extends DeclaredStatement<QName> {
     @Override
     default StatementDefinition statementDefinition() {
index 8609634816aea4c8671509d47980b90a2c3d2405..02a2149b3115749d6bee557e8206dd9514236751 100644 (file)
@@ -13,6 +13,9 @@ 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;
 
+/**
+ * Declared representation of a {@code belongs-to} statement.
+ */
 public interface BelongsToStatement extends DeclaredStatement<Unqualified> {
     @Override
     default StatementDefinition statementDefinition() {
index 781c10e0171b0382cb7477fc69191292c415da48..aa6a5400ff9bbcee6c93e73ebbf88fb68b45c301 100644 (file)
@@ -12,6 +12,9 @@ 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 bit} statement.
+ */
 public interface BitStatement extends DocumentedDeclaredStatement.WithStatus<String>,
         IfFeatureAwareDeclaredStatement<String> {
     @Override
index 2b0f99ac68ce5274483f149499ad71b9ad7d0dd0..c4b137aa4d46e8773bdc9cf8e80e7276481e2770 100644 (file)
@@ -11,6 +11,9 @@ 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 case} statement.
+ */
 public interface CaseStatement extends DocumentedDeclaredStatement.WithStatus<QName>,
         DataDefinitionAwareDeclaredStatement<QName>, WhenStatementAwareDeclaredStatement<QName> {
     @Override
index 0fae809f28cf2b4da01b0e7ba9c8c00d317e3997..b55ac2ba838284c8b20598ad5c473218346590c3 100644 (file)
@@ -13,6 +13,9 @@ 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 choice} statement.
+ */
 public interface ChoiceStatement extends DataDefinitionStatement, ConfigStatementAwareDeclaredStatement<QName>,
         DefaultStatementAwareDeclaredStatement, MandatoryStatementAwareDeclaredStatement<QName> {
     @Override
index 2199f626885bd8ec1430fcf544f7706377d3c967..cc9487f5211c7f559f0086300fe0912f9a747609 100644 (file)
@@ -11,12 +11,16 @@ 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;
 
+/**
+ * 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();
     }
index f8f8d2815438fd27ea4355bd8ad1625d2c99ee9e..cbc9f42f7013fa946d06080654325ccefddeeae4 100644 (file)
@@ -11,6 +11,9 @@ 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;
 
+/**
+ * Declared representation of a {@code contact} statement.
+ */
 public interface ContactStatement extends DeclaredStatement<String> {
     @Override
     default StatementDefinition statementDefinition() {
index 9c43fbfd9980a0f1fd9b768ea1da5ebb65b84ccb..0ea7b5f242f263f22cbfd7a46eaa3c131895b05c 100644 (file)
@@ -7,12 +7,14 @@
  */
 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>,
@@ -23,7 +25,7 @@ public interface ContainerStatement extends DataDefinitionStatement,
     }
 
     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;
     }
 }
index b317f5d33d6d6d82cc5d39ad0918b393a7de864e..e6fccd54ac2ced74c8b78a1bd651e929a9441add 100644 (file)
@@ -11,6 +11,9 @@ 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;
 
+/**
+ * Declared representation of a {@code default} statement.
+ */
 public interface DefaultStatement extends DeclaredStatement<String> {
     @Override
     default StatementDefinition statementDefinition() {
index 24b9ab25355d8af167c090b61ac92f89d38abed1..44d954b1d300e34cbc7492eff69351793bcbed1e 100644 (file)
@@ -11,6 +11,9 @@ 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;
 
+/**
+ * Declared representation of a {@code description} statement.
+ */
 public interface DescriptionStatement extends DeclaredStatement<String> {
     @Override
     default StatementDefinition statementDefinition() {
index 59303914250107042321a374609f2e444fc66822..37819a13f9a23d381905a5f99bc209b9e7d4ee71 100644 (file)
@@ -12,6 +12,9 @@ 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;
 
+/**
+ * Declared representation of a {@code deviate} statement.
+ */
 public interface DeviateStatement extends DeclaredStatement<DeviateKind> {
     @Override
     default StatementDefinition statementDefinition() {
index 19276d8b519bf62e2ffa2f9135051c595916c6fc..8e8898e138b4a98baeeeb0a8e04bafd6fa0666b6 100644 (file)
@@ -13,13 +13,16 @@ 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.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);
     }
index 309c56d579fe1e070be7aba2f0d7d2544d6bbdf1..028b3c337b4e1580360c8d5d3c305e2f402d23b9 100644 (file)
@@ -7,11 +7,13 @@
  */
 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
@@ -20,7 +22,7 @@ public interface EnumStatement extends DocumentedDeclaredStatement.WithStatus<St
     }
 
     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;
     }
 }
index 0d370a2177c86ad641c175ce36595009fe6aeb25..515ba9782752eca5255671696b64d38005c67b9d 100644 (file)
@@ -11,6 +11,9 @@ 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;
 
+/**
+ * Declared representation of a {@code error-app-tag} statement.
+ */
 public interface ErrorAppTagStatement extends DeclaredStatement<String> {
     @Override
     default StatementDefinition statementDefinition() {
index 9d1ff36a61db221fe11eef2a7b0b7ff76ebb12ed..7a30774276117db4c8673fcbbb88373da2e15b0f 100644 (file)
@@ -11,6 +11,9 @@ 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;
 
+/**
+ * Declared representation of a {@code error-message} statement.
+ */
 public interface ErrorMessageStatement extends DeclaredStatement<String> {
     @Override
     default StatementDefinition statementDefinition() {
index b97835cbede43c17939445859b814c6a8f1252a0..8c6b0c046dc1a80e5521f12be5037a136b362091 100644 (file)
@@ -7,12 +7,14 @@
  */
 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() {
@@ -20,7 +22,7 @@ public interface ExtensionStatement extends DocumentedDeclaredStatement.WithStat
     }
 
     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;
     }
 }
index 1c5c44f9569a9525b6a66ca70042cdd628f8f392..402493e94b891d854841c45e3aea9959e04778fb 100644 (file)
@@ -11,6 +11,9 @@ 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 feature} statement.
+ */
 public interface FeatureStatement extends DocumentedDeclaredStatement.WithStatus<QName>,
         IfFeatureAwareDeclaredStatement<QName> {
     @Override
index 44e400732545c235d087bfab004895e107db45d7..69264fdc512e9f4871e1964862343de8d5f60aea 100644 (file)
@@ -11,12 +11,16 @@ 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;
 
+/**
+ * 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();
     }
index c09d8d7f189c0a967d07f2bf2684ab8679af11a9..ec7af1c5747c864c360e3ac738dd0e84b869cee6 100644 (file)
@@ -11,6 +11,9 @@ 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 grouping} statement.
+ */
 public interface GroupingStatement extends DocumentedDeclaredStatement.WithStatus<QName>,
         DataDefinitionAwareDeclaredStatement.WithReusableDefinitions<QName>,
         NotificationStatementAwareDeclaredStatement<QName>, ActionStatementAwareDeclaredStatement<QName> {
index c4c31f0b9d9ff65949a481923d21addd665810f0..d3661847ae66e976e68876905e74c82685a9b354 100644 (file)
@@ -13,6 +13,9 @@ 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 identity} statement.
+ */
 public interface IdentityStatement extends DocumentedDeclaredStatement.WithStatus<QName>,
         IfFeatureAwareDeclaredStatement<QName> {
     @Override
index b1944f70fe5b5dd276ef0aa5f3b659b9d214a494..66e1b8470c63a61e4dcfe8c70cf8af843cd0bc07 100644 (file)
@@ -11,7 +11,6 @@ import static com.google.common.base.Verify.verify;
 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;
@@ -30,10 +29,7 @@ import org.opendaylight.yangtools.yang.common.QName;
  *
  * <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;
index d090ceb3ae733ec652e64f7cf21f6d4bf8fb3e5d..c0668cb0269102785bad3260e655d95e2da50e43 100644 (file)
@@ -7,8 +7,6 @@
  */
 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;
@@ -21,17 +19,4 @@ public interface IfFeatureStatement extends DeclaredStatement<IfFeatureExpr> {
     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();
-    }
 }
index e5f3bd5c41f610df05c9bd28bfcd5db8b53aee2f..744d5e73d753b844c1138d2306bb393ad6caf169 100644 (file)
@@ -7,13 +7,15 @@
  */
 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() {
@@ -25,7 +27,7 @@ public interface ImportStatement extends DocumentedDeclaredStatement<Unqualified
     }
 
     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;
     }
 }
index bc7913924140539bc5b349012b416c5ef9a3d37c..94ba4d9632b8b54a47a97a6468c235f791b6ae82 100644 (file)
@@ -7,12 +7,14 @@
  */
 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() {
@@ -20,7 +22,7 @@ public interface IncludeStatement extends DocumentedDeclaredStatement<Unqualifie
     }
 
     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;
     }
 }
index 04b4d01601eeb19b7909afcf2f798bc9205aad08..5a2620e3050391d1e35df1f162bba3216e60537d 100644 (file)
@@ -12,6 +12,9 @@ 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;
 
+/**
+ * Declared representation of a {@code input} statement.
+ */
 public interface InputStatement extends DeclaredStatement<QName>,
         DataDefinitionAwareDeclaredStatement.WithReusableDefinitions<QName>,
         MustStatementAwareDeclaredStatement<QName> {
index a7d9c25958cf94a2740678e1a3a0a2b27593d44c..de80b6d3166c51f4bfc4259f234d09474e121b85 100644 (file)
@@ -13,6 +13,9 @@ 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 leaf-list} statement.
+ */
 public interface LeafListStatement extends MultipleElementsDeclaredStatement, TypeAwareDeclaredStatement,
         ConfigStatementAwareDeclaredStatement<QName>, MustStatementAwareDeclaredStatement<QName> {
     @Override
index a84fdb8382e608eeced397baf5f8aa057ffd6ce4..e5eb61fd0d6f8bf847eb7947c9c0bf1c91f52312 100644 (file)
@@ -11,6 +11,9 @@ 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 leaf} statement.
+ */
 public interface LeafStatement extends DataDefinitionStatement, TypeAwareDeclaredStatement,
         ConfigStatementAwareDeclaredStatement<QName>, DefaultStatementAwareDeclaredStatement,
         MandatoryStatementAwareDeclaredStatement<QName>, MustStatementAwareDeclaredStatement<QName> {
index 13f717f5b7210e6305bc8000f73cddd69405ea80..5c50ac57961c268a71408d339c1440888b0d6db5 100644 (file)
@@ -8,16 +8,15 @@
 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();
 }
index 77e2542e4e91d30bae390fc2dcd0fcb23b99d827..e75f4117d80e43a3e441c67330d61dada4a67336 100644 (file)
@@ -8,13 +8,15 @@
 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>,
@@ -25,8 +27,8 @@ public interface ListStatement extends MultipleElementsDeclaredStatement,
     }
 
     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() {
index fafd675813a8afa7fb445dcb1f5b3d2b29e43208..db7760d50ae026e4a9c288117152bfacc76c0655 100644 (file)
@@ -11,13 +11,17 @@ 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;
 
+/**
+ * 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();
     }
 }
index 30d2c349fa755f8f72a4d088debbccb846f96ca7..4fed8fa6c3666edbc565bde9473f42916ef9a402 100644 (file)
@@ -11,6 +11,9 @@ 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;
 
+/**
+ * Declared representation of a {@code max-elements} statement.
+ */
 public interface MaxElementsStatement extends DeclaredStatement<String> {
     @Override
     default StatementDefinition statementDefinition() {
index 169291cbb45c0dcc5f3bb0e63a3fdc53f287ce2a..490172826a3af049d5c19f45f5f942b9669072fa 100644 (file)
@@ -11,6 +11,9 @@ 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;
 
+/**
+ * Declared representation of a {@code min-elements} statement.
+ */
 public interface MinElementsStatement extends DeclaredStatement<Integer> {
     @Override
     default StatementDefinition statementDefinition() {
index 78e50aa5c01868b40165162238d08ecb6922d832..179fdf11abf504d512c571a02e2d896c103055e6 100644 (file)
@@ -8,7 +8,6 @@
 
 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;
@@ -22,7 +21,6 @@ import org.opendaylight.yangtools.yang.model.api.type.ModifierKind;
  * 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() {
index 965012460ef49ac32d8b64db8c91ae87f8bd3acb..e4be43dec33eb62b73eeed133beb34582c2a18a9 100644 (file)
@@ -12,6 +12,9 @@ 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 module} statement.
+ */
 public interface ModuleStatement extends MetaDeclaredStatement<Unqualified>, ModuleHeaderGroup,
         LinkageDeclaredStatement, RevisionAwareDeclaredStatement, BodyDeclaredStatement {
     @Override
@@ -22,16 +25,16 @@ public interface ModuleStatement extends MetaDeclaredStatement<Unqualified>, Mod
     @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();
     }
 }
index 18af2e8726f12595b31c1dc96c72e59209398426..2dfa11818280120a9d44b08a1ab1d1c2b911ef00 100644 (file)
@@ -11,6 +11,9 @@ import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
 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() {
index 29c083fc628ba56fef7384028095a2c987a39952..a3802980ffcafeffb5d8245745a6faf5a95250f0 100644 (file)
@@ -12,6 +12,9 @@ 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;
 
+/**
+ * Declared representation of a {@code namespace} statement.
+ */
 public interface NamespaceStatement extends DeclaredStatement<XMLNamespace> {
     @Override
     default StatementDefinition statementDefinition() {
index 5cb43f886fed84e8e807f99cc2823719a6c7751d..05ec83d81146de92d7e78b52a6b762f056a62fd8 100644 (file)
@@ -11,6 +11,9 @@ 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 notification} statement.
+ */
 public interface NotificationStatement extends DocumentedDeclaredStatement.WithStatus<QName>,
         DataDefinitionAwareDeclaredStatement.WithReusableDefinitions<QName>, IfFeatureAwareDeclaredStatement<QName>,
         MustStatementAwareDeclaredStatement<QName> {
index 212b9879a41d4c07e34fe371ef0eec648fb68f44..5528e4d6e610ad9f890425e031a720dc65de3b5d 100644 (file)
@@ -12,6 +12,9 @@ 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;
 
+/**
+ * Declared representation of a {@code ordered-by} statement.
+ */
 public interface OrderedByStatement extends DeclaredStatement<Ordering> {
     @Override
     default StatementDefinition statementDefinition() {
index 7359c0754dd262e9174f0589e0e267a29b4312dd..ad4a44dcec96b57ba2a8e7d8e341aef0d6ff3046 100644 (file)
@@ -11,6 +11,9 @@ 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;
 
+/**
+ * Declared representation of a {@code organization} statement.
+ */
 public interface OrganizationStatement extends DeclaredStatement<String> {
     @Override
     default StatementDefinition statementDefinition() {
index 74a524f6898c7ec1b6fe796375b91b60cf1fb3a1..80bc5df8aa421d7ecd46b80250780d1919569091 100644 (file)
@@ -12,6 +12,9 @@ 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;
 
+/**
+ * Declared representation of a {@code output} statement.
+ */
 public interface OutputStatement extends DeclaredStatement<QName>,
         DataDefinitionAwareDeclaredStatement.WithReusableDefinitions<QName>,
         MustStatementAwareDeclaredStatement<QName> {
index 8e4779c348e25ac96fb753588408af686571c5a4..c91cb51701ab6dba08362ca3e5fc5f44b5fcfdab 100644 (file)
@@ -12,6 +12,9 @@ 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;
 
+/**
+ * Declared representation of a {@code path} statement.
+ */
 public interface PathStatement extends DeclaredStatement<PathExpression> {
     @Override
     default StatementDefinition statementDefinition() {
index b1f7318c2b3b5ef7791fe3afdd3a588a491ba5ac..e7301ce6c689b398a5c6ed66fad2770cebddcb80 100644 (file)
@@ -7,11 +7,13 @@
  */
 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() {
@@ -25,7 +27,7 @@ public interface PatternStatement extends ConstrainedDocumentedDeclaredStatement
      * @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;
     }
 }
index 88776d3a80a5c5bf1df22c18614dd48f11756c3b..cc8333422ee129bf2b82abb5fd62ec91aa650015 100644 (file)
@@ -12,6 +12,9 @@ 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;
 
+/**
+ * Declared representation of a {@code position} statement.
+ */
 public interface PositionStatement extends DeclaredStatement<Uint32> {
     @Override
     default StatementDefinition statementDefinition() {
index 306b2071e6cfc93d2c9cf1d87615b353ebd36b4d..8af59854d4111248f1e1f2f970a0a0573e8cdda7 100644 (file)
@@ -11,6 +11,9 @@ 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;
 
+/**
+ * Declared representation of a {@code prefix} statement.
+ */
 public interface PrefixStatement extends DeclaredStatement<String> {
     @Override
     default StatementDefinition statementDefinition() {
index c75574dcc73d714d4f29dd2a76ad47e6bbda5d05..f8e314c46d69d174fa65a5d7542320fd259606fc 100644 (file)
@@ -11,6 +11,9 @@ 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;
 
+/**
+ * Declared representation of a {@code presence} statement.
+ */
 public interface PresenceStatement extends DeclaredStatement<String> {
     @Override
     default StatementDefinition statementDefinition() {
index 512c706375437a893d05423561c895e26fd3ac88..2a2a5d61d369b91a901920f60d2cf5ea9999171c 100644 (file)
@@ -8,16 +8,15 @@
 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();
 }
index 3e44c892a9ef31739cc5d7df5d904e0e60d82ccf..5ffc26f3e37b94bde97b436375c7611fd34d0a99 100644 (file)
@@ -11,6 +11,9 @@ 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;
 
+/**
+ * Declared representation of a {@code reference} statement.
+ */
 public interface ReferenceStatement extends DeclaredStatement<String> {
     @Override
     default StatementDefinition statementDefinition() {
index f3696cfb8e0e664c704a305b06ef3f75b739cbe1..818f93b0891eab9aec1a1b5d62c82b0185c95a15 100644 (file)
@@ -8,13 +8,15 @@
 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>,
@@ -29,17 +31,17 @@ public interface RefineStatement extends ConfigStatementAwareDeclaredStatement<D
     }
 
     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;
     }
 }
index 186ab5ddb9dbe832bc564dde5def0f48a8f927ef..35b2e4a5e412c8d062dd3b64b662ec93bfe32039 100644 (file)
@@ -11,12 +11,16 @@ 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;
 
+/**
+ * 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();
     }
index 88e377c1e43e2f5f059fbf642822e52cf265ee95..7664c8ec2e9bfdde55dbc7c1add05adfb9d9737b 100644 (file)
@@ -12,6 +12,9 @@ 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;
 
+/**
+ * Declared representation of a {@code revision-date} statement.
+ */
 public interface RevisionDateStatement extends DeclaredStatement<Revision> {
     @Override
     default StatementDefinition statementDefinition() {
index 7fcbf873aa2c88eea3c51207633233a0a84ff4a5..8f96b212875f6ad444242be2d18f1b722a0f2b77 100644 (file)
@@ -11,6 +11,9 @@ import org.opendaylight.yangtools.yang.common.Revision;
 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() {
index 3fe02b20ad10a61bf48e4c195c388dae2ddbdad3..e04932f4ce709295630fbd81ba9425e0292e74ef 100644 (file)
@@ -10,6 +10,9 @@ package org.opendaylight.yangtools.yang.model.api.stmt;
 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() {
index d42fc07d21c7774cda0dfd3373b280c3e2ec0686..a299d96e7370b02c66ca5f3edf27926d906fd3cb 100644 (file)
@@ -12,6 +12,9 @@ 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;
 
+/**
+ * Declared representation of a {@code status} statement.
+ */
 public interface StatusStatement extends DeclaredStatement<Status> {
     @Override
     default StatementDefinition statementDefinition() {
index df75ae109dc62420eaa7b2ca71141e969428754a..8de78605954d77eeb70bfafca999040eb9c1074f 100644 (file)
@@ -7,13 +7,15 @@
  */
 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
@@ -22,12 +24,12 @@ public interface SubmoduleStatement extends MetaDeclaredStatement<Unqualified>,
     }
 
     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();
     }
 }
 
index 78d6d3d97068e3330c7792148f0cb0ae7d7066e8..c7e7ecc3c4eb958ee0cce9f23965f0f8b549e660 100644 (file)
@@ -16,6 +16,9 @@ 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;
 
+/**
+ * Declared representation of a {@code type} statement.
+ */
 @Rfc6020AbnfRule("type-stmt")
 public interface TypeStatement extends DeclaredStatement<QName> {
     @Override
index 56787614f723d593e0fd7c7438a9a660229cda52..b555d919b70a8871614ee21e649694915468f604 100644 (file)
@@ -11,6 +11,9 @@ 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 typedef} statement.
+ */
 public interface TypedefStatement extends DocumentedDeclaredStatement.WithStatus<QName>, TypeAwareDeclaredStatement,
         DefaultStatementAwareDeclaredStatement {
     @Override
index 1dfab9484d768416c1af7e3dc22cdd5c58bbc443..9a808bb557d5ce97657441870ec08dd3a1374e50 100644 (file)
@@ -11,6 +11,9 @@ 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;
 
+/**
+ * Declared representation of a {@code units} statement.
+ */
 public interface UnitsStatement extends DeclaredStatement<String> {
     @Override
     default StatementDefinition statementDefinition() {
index 31aa062be8b630ccf55b82c817ca7f50c0de95a9..57ac275d79dc66ec12bc08b1568157c9fa851d1e 100644 (file)
@@ -7,7 +7,6 @@
  */
 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;
 
@@ -18,7 +17,6 @@ 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> {
 
index 4704fc7a33c4e4f90bfb891190e89083313dae12..f9b67bcedc1331c3781c5343db19ffa9e4f06b90 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.model.api.stmt;
 
-import com.google.common.annotations.Beta;
 import org.opendaylight.yangtools.yang.common.Empty;
 
 /**
@@ -19,13 +18,12 @@ 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>
index 41399323f3dd8f06bf17ed9ceb20d78f89eb0ed3..56294f69a8c35a4925a1893cf3c583543965ac7b 100644 (file)
@@ -12,6 +12,9 @@ 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 uses} statement.
+ */
 public interface UsesStatement extends DataDefinitionStatement {
     @Override
     default StatementDefinition statementDefinition() {
index 36f72568636d099e834e74028adee14d2501a8a2..6fae50a356481edb67ab81974a792407a1ba7f0a 100644 (file)
@@ -11,12 +11,16 @@ 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;
 
+/**
+ * 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();
     }
index 7807a200d4dce56d38bc3b01140498e1fb7dfa63..e4c179d9ea7007e3d23a72b5a68033f043dc92aa 100644 (file)
@@ -11,6 +11,9 @@ import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
 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() {
index 97be7a13624d0abc1b19ab8ff1915ba5137fb7f6..ef9b98fb00ab4ae551035ee0d21b9b2f5c823e3f 100644 (file)
@@ -12,6 +12,9 @@ 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;
 
+/**
+ * Declared representation of a {@code yang-version} statement.
+ */
 public interface YangVersionStatement extends DeclaredStatement<YangVersion> {
     @Override
     default StatementDefinition statementDefinition() {
index b1881a5005d105cbf7f4b2fc62870a07390e378f..de544a4a7a790495a1b7c443a46eccb5e4da5f93 100644 (file)
@@ -11,13 +11,17 @@ 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;
 
+/**
+ * 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();
     }
 }
index 77919c8c4ba715840d331b0a16c2144045a0c134..ffe410934c8693ce004c01cc2e8cb59cb45dd751 100644 (file)
@@ -98,7 +98,7 @@ public class DeclaredStatementsTest {
         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();