From: Robert Varga Date: Tue, 23 Oct 2018 16:30:32 +0000 (+0200) Subject: Migrate statements to JDT annotations X-Git-Tag: v2.1.3~21 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=6428fe49ac4c2247fbf77de63d64773a0dcf81d9;p=yangtools.git Migrate statements to JDT annotations These are trivial conversions from javax.annotation to JDT's NonNull. Change-Id: If3f6fed71917101febb2bce0d1b2a853668f205a JIRA: YANGTOOLS-907 Signed-off-by: Robert Varga --- diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ArgumentStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ArgumentStatement.java index 8e2af9f96a..4a9c5eae79 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ArgumentStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ArgumentStatement.java @@ -7,16 +7,19 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; +import static com.google.common.base.Verify.verifyNotNull; + import java.util.Optional; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; +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.meta.DeclaredStatement; @Rfc6020AbnfRule("argument-stmt") public interface ArgumentStatement extends DeclaredStatement { - default @Nonnull QName getName() { - return argument(); + default @NonNull QName getName() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } default @Nullable YinElementStatement getYinElement() { diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/AugmentStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/AugmentStatement.java index ab89d6d061..ac8dc25e06 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/AugmentStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/AugmentStatement.java @@ -7,8 +7,10 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; +import static com.google.common.base.Verify.verifyNotNull; + import java.util.Collection; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.stmt.DocumentedDeclaredStatement.WithStatus; public interface AugmentStatement extends WithStatus, @@ -17,11 +19,12 @@ public interface AugmentStatement extends WithStatus, ActionStatementAwareDeclaredStatement, WhenStatementAwareDeclaredStatement { - default @Nonnull SchemaNodeIdentifier getTargetNode() { - return argument(); + default @NonNull SchemaNodeIdentifier getTargetNode() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } - default @Nonnull Collection getCases() { + default @NonNull Collection getCases() { return declaredSubstatements(CaseStatement.class); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BaseStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BaseStatement.java index a30035e84c..703166ed98 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BaseStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BaseStatement.java @@ -7,12 +7,15 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nonnull; +import static com.google.common.base.Verify.verifyNotNull; + +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; public interface BaseStatement extends DeclaredStatement { - default @Nonnull QName getName() { - return argument(); + default @NonNull QName getName() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BelongsToStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BelongsToStatement.java index 8a7df9685b..67f53ee978 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BelongsToStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BelongsToStatement.java @@ -7,16 +7,18 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nonnull; +import static com.google.common.base.Verify.verifyNotNull; + +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; public interface BelongsToStatement extends DeclaredStatement { - default @Nonnull String getModule() { - return argument(); + default @NonNull String getModule() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } - default @Nonnull PrefixStatement getPrefix() { + default @NonNull PrefixStatement getPrefix() { return findFirstDeclaredSubstatement(PrefixStatement.class).get(); } } - diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BitStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BitStatement.java index 6c3fae0594..4c7ae1a351 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BitStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BitStatement.java @@ -7,17 +7,21 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; +import static com.google.common.base.Verify.verifyNotNull; + import java.util.Optional; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.yangtools.yang.common.QName; public interface BitStatement extends DocumentedDeclaredStatement.WithStatus, IfFeatureAwareDeclaredStatement { - default @Nonnull String getName() { - return argument().getLocalName(); + default @NonNull String getName() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()).getLocalName(); } - default PositionStatement getPosition() { + default @Nullable PositionStatement getPosition() { final Optional opt = findFirstDeclaredSubstatement(PositionStatement.class); return opt.isPresent() ? opt.get() : null; } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BodyDeclaredStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BodyDeclaredStatement.java index 7040b31d5a..1650819edd 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BodyDeclaredStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BodyDeclaredStatement.java @@ -9,38 +9,37 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; import java.util.Collection; -import javax.annotation.Nonnull; @Beta public interface BodyDeclaredStatement extends NotificationStatementAwareDeclaredStatement, DataDefinitionAwareDeclaredStatement.WithReusableDefinitions, BodyGroup { @Override - default @Nonnull Collection getExtensions() { + default Collection getExtensions() { return declaredSubstatements(ExtensionStatement.class); } @Override - default @Nonnull Collection getFeatures() { + default Collection getFeatures() { return declaredSubstatements(FeatureStatement.class); } @Override - default @Nonnull Collection getIdentities() { + default Collection getIdentities() { return declaredSubstatements(IdentityStatement.class); } @Override - default @Nonnull Collection getAugments() { + default Collection getAugments() { return declaredSubstatements(AugmentStatement.class); } @Override - default @Nonnull Collection getRpcs() { + default Collection getRpcs() { return declaredSubstatements(RpcStatement.class); } @Override - default @Nonnull Collection getDeviations() { + default Collection getDeviations() { return declaredSubstatements(DeviationStatement.class); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BodyGroup.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BodyGroup.java index 37b48faa62..981decf5ba 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BodyGroup.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BodyGroup.java @@ -8,21 +8,21 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import java.util.Collection; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; @Rfc6020AbnfRule("body-stmts") @Deprecated public interface BodyGroup extends DataDefinitionContainer.WithReusableDefinitions, NotificationStatementContainer { - @Nonnull Collection getExtensions(); + @NonNull Collection getExtensions(); - @Nonnull Collection getFeatures(); + @NonNull Collection getFeatures(); - @Nonnull Collection getIdentities(); + @NonNull Collection getIdentities(); - @Nonnull Collection getAugments(); + @NonNull Collection getAugments(); - @Nonnull Collection getRpcs(); + @NonNull Collection getRpcs(); - @Nonnull Collection getDeviations(); + @NonNull Collection getDeviations(); } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/CaseStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/CaseStatement.java index feed0d9165..a520928765 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/CaseStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/CaseStatement.java @@ -7,12 +7,15 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nonnull; +import static com.google.common.base.Verify.verifyNotNull; + +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; public interface CaseStatement extends DocumentedDeclaredStatement.WithStatus, DataDefinitionAwareDeclaredStatement, WhenStatementAwareDeclaredStatement { - default @Nonnull QName getName() { - return argument(); + default @NonNull QName getName() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ChoiceStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ChoiceStatement.java index 3a196b1eb3..c1e9f7a6b1 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ChoiceStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ChoiceStatement.java @@ -8,13 +8,13 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import java.util.Collection; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; public interface ChoiceStatement extends DataDefinitionStatement, ConfigStatementAwareDeclaredStatement, DefaultStatementAwareDeclaredStatement, MandatoryStatementAwareDeclaredStatement { - default @Nonnull Collection getCases() { + default @NonNull Collection getCases() { return declaredSubstatements(CaseStatement.class); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ConditionalDataDefinition.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ConditionalDataDefinition.java index 5dca7cdac3..961e862259 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ConditionalDataDefinition.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ConditionalDataDefinition.java @@ -7,7 +7,7 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nullable; +import org.eclipse.jdt.annotation.Nullable; @Deprecated public interface ConditionalDataDefinition extends ConditionalFeature { diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ConditionalFeature.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ConditionalFeature.java index ae3a345390..0ad6394402 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ConditionalFeature.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ConditionalFeature.java @@ -8,7 +8,7 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import java.util.Collection; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; @Rfc6020AbnfRule("*(if-feature-stmt)") @Deprecated @@ -20,5 +20,5 @@ public interface ConditionalFeature { * * @return collection of if-feature statements */ - @Nonnull Collection getIfFeatures(); + @NonNull Collection getIfFeatures(); } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ContactStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ContactStatement.java index 06acc31baa..e511fcec9f 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ContactStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ContactStatement.java @@ -7,11 +7,14 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nonnull; +import static com.google.common.base.Verify.verifyNotNull; + +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; public interface ContactStatement extends DeclaredStatement { - default @Nonnull String getText() { - return rawArgument(); + default @NonNull String getText() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(rawArgument()); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DataDefinitionAwareDeclaredStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DataDefinitionAwareDeclaredStatement.java index c9ba400229..99929d0c23 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DataDefinitionAwareDeclaredStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DataDefinitionAwareDeclaredStatement.java @@ -9,25 +9,24 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; import java.util.Collection; -import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; @Beta public interface DataDefinitionAwareDeclaredStatement extends DeclaredStatement, DataDefinitionContainer { @Override - default @Nonnull Collection getDataDefinitions() { + default Collection getDataDefinitions() { return declaredSubstatements(DataDefinitionStatement.class); } interface WithReusableDefinitions extends DataDefinitionAwareDeclaredStatement, DataDefinitionContainer.WithReusableDefinitions { @Override - default @Nonnull Collection getTypedefs() { + default Collection getTypedefs() { return declaredSubstatements(TypedefStatement.class); } @Override - default @Nonnull Collection getGroupings() { + default Collection getGroupings() { return declaredSubstatements(GroupingStatement.class); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DataDefinitionContainer.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DataDefinitionContainer.java index 55a463eaa4..f935aee219 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DataDefinitionContainer.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DataDefinitionContainer.java @@ -8,17 +8,17 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import java.util.Collection; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; @Deprecated public interface DataDefinitionContainer { - @Nonnull Collection getDataDefinitions(); + @NonNull Collection getDataDefinitions(); interface WithReusableDefinitions extends DataDefinitionContainer { - @Nonnull Collection getTypedefs(); + @NonNull Collection getTypedefs(); - @Nonnull Collection getGroupings(); + @NonNull Collection getGroupings(); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DataDefinitionStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DataDefinitionStatement.java index 2cdafae52f..e66018d53d 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DataDefinitionStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DataDefinitionStatement.java @@ -7,7 +7,9 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nonnull; +import static com.google.common.base.Verify.verifyNotNull; + +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; /** @@ -21,7 +23,8 @@ import org.opendaylight.yangtools.yang.common.QName; @Rfc6020AbnfRule("data-def-stmt") public interface DataDefinitionStatement extends DocumentedDeclaredStatement.WithStatus, WhenStatementAwareDeclaredStatement { - default @Nonnull QName getName() { - return argument(); + default @NonNull QName getName() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DefaultStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DefaultStatement.java index dbbcaed91b..6b325b106a 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DefaultStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DefaultStatement.java @@ -7,12 +7,14 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nonnull; +import static com.google.common.base.Verify.verifyNotNull; + +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; public interface DefaultStatement extends DeclaredStatement { - default @Nonnull String getValue() { - return argument(); + default @NonNull String getValue() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } } - diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DefaultStatementContainer.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DefaultStatementContainer.java index 5c54fa6ac0..38bff54efd 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DefaultStatementContainer.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DefaultStatementContainer.java @@ -7,7 +7,7 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nullable; +import org.eclipse.jdt.annotation.Nullable; /** * Marker interface for statements which may contain a 'default' statement, as defined in RFC7950. diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DescriptionStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DescriptionStatement.java index afdceb66d8..80f9d07ac2 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DescriptionStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DescriptionStatement.java @@ -7,12 +7,15 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nonnull; +import static com.google.common.base.Verify.verifyNotNull; + +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; public interface DescriptionStatement extends DeclaredStatement { - default @Nonnull String getText() { - return argument(); + default @NonNull String getText() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DeviateStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DeviateStatement.java index e612ceff28..1379fd635d 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DeviateStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DeviateStatement.java @@ -7,12 +7,15 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nonnull; +import static com.google.common.base.Verify.verifyNotNull; + +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.DeviateKind; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; public interface DeviateStatement extends DeclaredStatement { - default @Nonnull DeviateKind getValue() { - return argument(); + default @NonNull DeviateKind getValue() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DeviationStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DeviationStatement.java index 736059e5ad..adec391fb4 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DeviationStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DeviationStatement.java @@ -7,15 +7,18 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; +import static com.google.common.base.Verify.verifyNotNull; + import java.util.Collection; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; public interface DeviationStatement extends DocumentedDeclaredStatement { - default @Nonnull SchemaNodeIdentifier getTargetNode() { - return argument(); + default @NonNull SchemaNodeIdentifier getTargetNode() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } - default @Nonnull Collection getDeviateStatements() { + default @NonNull Collection getDeviateStatements() { return declaredSubstatements(DeviateStatement.class); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DocumentationGroup.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DocumentationGroup.java index b016b90e70..3cd219fcf1 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DocumentationGroup.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DocumentationGroup.java @@ -7,7 +7,7 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nullable; +import org.eclipse.jdt.annotation.Nullable; /** * Common interface for statements which contain either a description/reference or a description/reference/status combo. diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DocumentedConstraintGroup.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DocumentedConstraintGroup.java index c4add583d1..6ff94d8f1b 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DocumentedConstraintGroup.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DocumentedConstraintGroup.java @@ -7,7 +7,7 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nullable; +import org.eclipse.jdt.annotation.Nullable; /** * Documented constraints. diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DocumentedDeclaredStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DocumentedDeclaredStatement.java index 1fd59e1ecc..90547b2825 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DocumentedDeclaredStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DocumentedDeclaredStatement.java @@ -9,7 +9,6 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; import java.util.Optional; -import javax.annotation.Nullable; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; /** @@ -31,7 +30,7 @@ public interface DocumentedDeclaredStatement extends DeclaredStatement, Do interface WithStatus extends DocumentedDeclaredStatement, DocumentationGroup.WithStatus { @Override - default @Nullable StatusStatement getStatus() { + default StatusStatement getStatus() { final Optional opt = findFirstDeclaredSubstatement(StatusStatement.class); return opt.isPresent() ? opt.get() : null; } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/EnumStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/EnumStatement.java index 27695be85e..1d21bdb57a 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/EnumStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/EnumStatement.java @@ -7,14 +7,17 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; +import static com.google.common.base.Verify.verifyNotNull; + import java.util.Optional; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; public interface EnumStatement extends DocumentedDeclaredStatement.WithStatus, IfFeatureAwareDeclaredStatement { - default @Nonnull String getName() { - return argument(); + default @NonNull String getName() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } default @Nullable ValueStatement getValue() { diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ErrorAppTagStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ErrorAppTagStatement.java index 2fc91b4967..0d33c9e653 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ErrorAppTagStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ErrorAppTagStatement.java @@ -7,11 +7,15 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nonnull; +import static com.google.common.base.Verify.verifyNotNull; + +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; public interface ErrorAppTagStatement extends DeclaredStatement { - - @Nonnull String getValue(); + default @NonNull String getValue() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); + } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ErrorMessageStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ErrorMessageStatement.java index 27856b49cd..d07b41ea8c 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ErrorMessageStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ErrorMessageStatement.java @@ -7,12 +7,15 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nonnull; +import static com.google.common.base.Verify.verifyNotNull; + +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; public interface ErrorMessageStatement extends DeclaredStatement { - default @Nonnull String getValue() { - return argument(); + default @NonNull String getValue() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/FeatureStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/FeatureStatement.java index e05ed02e24..6f4b13baac 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/FeatureStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/FeatureStatement.java @@ -7,12 +7,15 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nonnull; +import static com.google.common.base.Verify.verifyNotNull; + +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; public interface FeatureStatement extends DocumentedDeclaredStatement.WithStatus, IfFeatureAwareDeclaredStatement { - default @Nonnull QName getName() { - return argument(); + default @NonNull QName getName() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/GroupingStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/GroupingStatement.java index e3adf6f4e5..3232874527 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/GroupingStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/GroupingStatement.java @@ -7,13 +7,16 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nonnull; +import static com.google.common.base.Verify.verifyNotNull; + +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; public interface GroupingStatement extends DocumentedDeclaredStatement.WithStatus, DataDefinitionAwareDeclaredStatement.WithReusableDefinitions, NotificationStatementAwareDeclaredStatement, ActionStatementAwareDeclaredStatement { - default @Nonnull QName getName() { - return argument(); + default @NonNull QName getName() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/IdentityStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/IdentityStatement.java index 7abf04c262..0ebbe18e4f 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/IdentityStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/IdentityStatement.java @@ -7,14 +7,17 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; +import static com.google.common.base.Verify.verifyNotNull; + import java.util.Collection; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; public interface IdentityStatement extends DocumentedDeclaredStatement.WithStatus, IfFeatureAwareDeclaredStatement { - default @Nonnull QName getName() { - return argument(); + default @NonNull QName getName() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } /** @@ -22,7 +25,7 @@ public interface IdentityStatement extends DocumentedDeclaredStatement.WithStatu * * @return base identities, empty if there are none. */ - default @Nonnull Collection getBases() { + default @NonNull Collection getBases() { return declaredSubstatements(BaseStatement.class); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/IfFeatureAwareDeclaredStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/IfFeatureAwareDeclaredStatement.java index 6362b11dbf..c99c8ee0a4 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/IfFeatureAwareDeclaredStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/IfFeatureAwareDeclaredStatement.java @@ -9,13 +9,12 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; import java.util.Collection; -import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; @Beta public interface IfFeatureAwareDeclaredStatement extends DeclaredStatement, ConditionalFeature { @Override - default @Nonnull Collection getIfFeatures() { + default Collection getIfFeatures() { return declaredSubstatements(IfFeatureStatement.class); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/IfFeatureStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/IfFeatureStatement.java index 7b1abd53f3..43e3683adc 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/IfFeatureStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/IfFeatureStatement.java @@ -10,24 +10,21 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; import java.util.Set; import java.util.function.Predicate; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; /** - * Represents YANG if-feature statement. - * The "if-feature" statement makes its parent statement conditional. + * Represents YANG if-feature statement. The "if-feature" statement makes its parent statement conditional. */ public interface IfFeatureStatement extends DeclaredStatement>> { /** - * 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. + * 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 - @Nonnull - Predicate> getIfFeaturePredicate(); + @NonNull Predicate> getIfFeaturePredicate(); } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ImportStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ImportStatement.java index 460a80b281..af00ae9285 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ImportStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ImportStatement.java @@ -7,16 +7,19 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; +import static com.google.common.base.Verify.verifyNotNull; + import java.util.Optional; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; public interface ImportStatement extends DocumentedDeclaredStatement { - default @Nonnull String getModule() { - return rawArgument(); + default @NonNull String getModule() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(rawArgument()); } - default @Nonnull PrefixStatement getPrefix() { + default @NonNull PrefixStatement getPrefix() { return findFirstDeclaredSubstatement(PrefixStatement.class).get(); } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/IncludeStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/IncludeStatement.java index 0e4ade579a..28ff9c08ed 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/IncludeStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/IncludeStatement.java @@ -7,13 +7,16 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; +import static com.google.common.base.Verify.verifyNotNull; + import java.util.Optional; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; public interface IncludeStatement extends DocumentedDeclaredStatement { - default @Nonnull String getModule() { - return argument(); + default @NonNull String getModule() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } default @Nullable RevisionDateStatement getRevisionDate() { @@ -21,4 +24,3 @@ public interface IncludeStatement extends DocumentedDeclaredStatement { return opt.isPresent() ? opt.get() : null; } } - diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/LeafListStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/LeafListStatement.java index bc318aafcc..dabe9aeeb8 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/LeafListStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/LeafListStatement.java @@ -8,7 +8,7 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import java.util.Collection; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; public interface LeafListStatement extends MultipleElementsDeclaredStatement, TypeAwareDeclaredStatement, @@ -19,7 +19,7 @@ public interface LeafListStatement extends MultipleElementsDeclaredStatement, Ty * * @return collection of default statements */ - default @Nonnull Collection getDefaults() { + default @NonNull Collection getDefaults() { return declaredSubstatements(DefaultStatement.class); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/LengthStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/LengthStatement.java index 11c96ec116..728cdd021c 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/LengthStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/LengthStatement.java @@ -8,10 +8,9 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import java.util.List; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; public interface LengthStatement extends ConstrainedDocumentedDeclaredStatement> { - @Nonnull @Override - List argument(); + @NonNull List argument(); } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/LinkageDeclaredStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/LinkageDeclaredStatement.java index 51ddcf4d73..a50d664aa9 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/LinkageDeclaredStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/LinkageDeclaredStatement.java @@ -9,18 +9,17 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; import java.util.Collection; -import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; @Beta public interface LinkageDeclaredStatement extends DeclaredStatement, LinkageGroup { @Override - default @Nonnull Collection getImports() { + default Collection getImports() { return declaredSubstatements(ImportStatement.class); } @Override - default @Nonnull Collection getIncludes() { + default Collection getIncludes() { return declaredSubstatements(IncludeStatement.class); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/LinkageGroup.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/LinkageGroup.java index 5f6094f96f..2dd1f2d1b9 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/LinkageGroup.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/LinkageGroup.java @@ -8,13 +8,13 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import java.util.Collection; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; @Rfc6020AbnfRule("linkage-stms") @Deprecated public interface LinkageGroup { - @Nonnull Collection getImports(); + @NonNull Collection getImports(); - @Nonnull Collection getIncludes(); + @NonNull Collection getIncludes(); } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ListStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ListStatement.java index 9b8938354d..dfbe8dcb49 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ListStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ListStatement.java @@ -9,19 +9,20 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import java.util.Collection; import java.util.Optional; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.yangtools.yang.common.QName; public interface ListStatement extends MultipleElementsDeclaredStatement, DataDefinitionAwareDeclaredStatement.WithReusableDefinitions, ConfigStatementAwareDeclaredStatement, ActionStatementAwareDeclaredStatement, MustStatementAwareDeclaredStatement, NotificationStatementAwareDeclaredStatement { - default KeyStatement getKey() { + default @Nullable KeyStatement getKey() { final Optional opt = findFirstDeclaredSubstatement(KeyStatement.class); return opt.isPresent() ? opt.get() : null; } - default @Nonnull Collection getUnique() { + default @NonNull Collection getUnique() { return declaredSubstatements(UniqueStatement.class); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MandatoryStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MandatoryStatement.java index ab730a9da5..fca875ddda 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MandatoryStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MandatoryStatement.java @@ -7,12 +7,14 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nonnull; +import static com.google.common.base.Verify.verifyNotNull; + +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; public interface MandatoryStatement extends DeclaredStatement { - default @Nonnull Boolean getValue() { - return argument(); + default @NonNull Boolean getValue() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } } - diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MandatoryStatementAwareDeclaredStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MandatoryStatementAwareDeclaredStatement.java index ff7098c0a3..3dabb8b2e9 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MandatoryStatementAwareDeclaredStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MandatoryStatementAwareDeclaredStatement.java @@ -9,7 +9,6 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; import java.util.Optional; -import javax.annotation.Nullable; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; /** @@ -24,7 +23,7 @@ public interface MandatoryStatementAwareDeclaredStatement extends DeclaredSta * @return A {@link MandatoryStatement}, or null if none is present. */ @Override - default @Nullable MandatoryStatement getMandatory() { + default MandatoryStatement getMandatory() { final Optional opt = findFirstDeclaredSubstatement(MandatoryStatement.class); return opt.isPresent() ? opt.get() : null; } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MandatoryStatementContainer.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MandatoryStatementContainer.java index 7028b575fc..dbca947440 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MandatoryStatementContainer.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MandatoryStatementContainer.java @@ -7,7 +7,7 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nullable; +import org.eclipse.jdt.annotation.Nullable; /** * Marker interface for statements which may contain a 'mandatory' statement, as defined in RFC7950. diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MaxElementsStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MaxElementsStatement.java index b7cca0138d..cf669e2b90 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MaxElementsStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MaxElementsStatement.java @@ -7,12 +7,14 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nonnull; +import static com.google.common.base.Verify.verifyNotNull; + +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; public interface MaxElementsStatement extends DeclaredStatement { - default @Nonnull String getValue() { - return argument(); + default @NonNull String getValue() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } } - diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MetaGroup.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MetaGroup.java index 18973a1460..cda7112c11 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MetaGroup.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MetaGroup.java @@ -7,7 +7,7 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nullable; +import org.eclipse.jdt.annotation.Nullable; @Rfc6020AbnfRule("meta-stmts") @Deprecated diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MinElementsStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MinElementsStatement.java index 5f20421854..5105e33a6a 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MinElementsStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MinElementsStatement.java @@ -7,12 +7,14 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nonnull; +import static com.google.common.base.Verify.verifyNotNull; + +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; public interface MinElementsStatement extends DeclaredStatement { - default @Nonnull Integer getValue() { - return argument(); + default @NonNull Integer getValue() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } } - diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ModifierStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ModifierStatement.java index 5b79ddbc12..0c9cda2c62 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ModifierStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ModifierStatement.java @@ -8,8 +8,10 @@ package org.opendaylight.yangtools.yang.model.api.stmt; +import static com.google.common.base.Verify.verifyNotNull; + import com.google.common.annotations.Beta; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.type.ModifierKind; @@ -17,14 +19,14 @@ import org.opendaylight.yangtools.yang.model.api.type.ModifierKind; * Represents YANG modifier statement. * *

- * The "modifier" statement, which is an optional substatement - * to the "pattern" statement, takes as an argument 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. + * The "modifier" statement, which is an optional substatement to the "pattern" statement, takes as an argument + * 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 { - default @Nonnull ModifierKind getValue() { - return argument(); + default @NonNull ModifierKind getValue() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ModuleHeaderGroup.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ModuleHeaderGroup.java index b6fd331437..681dea49ed 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ModuleHeaderGroup.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ModuleHeaderGroup.java @@ -7,15 +7,15 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; @Rfc6020AbnfRule("module-header-stmts") public interface ModuleHeaderGroup { @Nullable YangVersionStatement getYangVersion(); - @Nonnull NamespaceStatement getNamespace(); + @NonNull NamespaceStatement getNamespace(); - @Nonnull PrefixStatement getPrefix(); + @NonNull PrefixStatement getPrefix(); } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ModuleStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ModuleStatement.java index 3f629c550f..693926fc6b 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ModuleStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ModuleStatement.java @@ -7,13 +7,16 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; +import static com.google.common.base.Verify.verifyNotNull; + import java.util.Optional; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; public interface ModuleStatement extends MetaDeclaredStatement, ModuleHeaderGroup, LinkageDeclaredStatement, RevisionAwareDeclaredStatement, BodyDeclaredStatement { - default @Nonnull String getName() { - return rawArgument(); + default @NonNull String getName() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(rawArgument()); } @Override diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MultipleElementsGroup.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MultipleElementsGroup.java index 7f3571cad2..00447c2646 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MultipleElementsGroup.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MultipleElementsGroup.java @@ -7,7 +7,7 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nullable; +import org.eclipse.jdt.annotation.Nullable; /** * Common statements of collection-like statements. diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MustStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MustStatement.java index b2c33b3098..50d91ed0a6 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MustStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MustStatement.java @@ -7,11 +7,14 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nonnull; +import static com.google.common.base.Verify.verifyNotNull; + +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.RevisionAwareXPath; public interface MustStatement extends ConstrainedDocumentedDeclaredStatement { - default @Nonnull RevisionAwareXPath getCondition() { - return argument(); + default @NonNull RevisionAwareXPath getCondition() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MustStatementAwareDeclaredStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MustStatementAwareDeclaredStatement.java index 3e12c662af..bb88fff601 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MustStatementAwareDeclaredStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MustStatementAwareDeclaredStatement.java @@ -9,14 +9,13 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; import java.util.Collection; -import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; @Beta public interface MustStatementAwareDeclaredStatement extends DeclaredStatement, MustStatementContainer { @Override - default @Nonnull Collection getMusts() { + default Collection getMusts() { return declaredSubstatements(MustStatement.class); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MustStatementContainer.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MustStatementContainer.java index af2ce53e95..0c589e8400 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MustStatementContainer.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MustStatementContainer.java @@ -8,7 +8,7 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import java.util.Collection; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; /** * Marker interface for statements which may contain a 'must' statement, as defined in RFC7950. There is a significant @@ -24,5 +24,5 @@ public interface MustStatementContainer { * * @return collection of must statements */ - @Nonnull Collection getMusts(); + @NonNull Collection getMusts(); } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/NamespaceStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/NamespaceStatement.java index cef5579f30..c7e8d72be7 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/NamespaceStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/NamespaceStatement.java @@ -7,13 +7,15 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; +import static com.google.common.base.Verify.verifyNotNull; + import java.net.URI; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; public interface NamespaceStatement extends DeclaredStatement { - default @Nonnull URI getUri() { - return argument(); + default @NonNull URI getUri() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } } - diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/NotificationStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/NotificationStatement.java index a709b9b863..aed5b0e013 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/NotificationStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/NotificationStatement.java @@ -7,13 +7,16 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nonnull; +import static com.google.common.base.Verify.verifyNotNull; + +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; public interface NotificationStatement extends DocumentedDeclaredStatement.WithStatus, DataDefinitionAwareDeclaredStatement.WithReusableDefinitions, IfFeatureAwareDeclaredStatement, MustStatementAwareDeclaredStatement { - default @Nonnull QName getName() { - return argument(); + default @NonNull QName getName() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/NotificationStatementAwareDeclaredStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/NotificationStatementAwareDeclaredStatement.java index 325f591d9c..7215e4b63c 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/NotificationStatementAwareDeclaredStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/NotificationStatementAwareDeclaredStatement.java @@ -9,14 +9,13 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; import java.util.Collection; -import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; @Beta public interface NotificationStatementAwareDeclaredStatement extends DeclaredStatement, NotificationStatementContainer { @Override - default @Nonnull Collection getNotifications() { + default Collection getNotifications() { return declaredSubstatements(NotificationStatement.class); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/NotificationStatementContainer.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/NotificationStatementContainer.java index c59afb586f..64087d9910 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/NotificationStatementContainer.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/NotificationStatementContainer.java @@ -9,7 +9,7 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import java.util.Collection; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; /** * Marker interface for statements which may contain a 'notification' statement, as defined in RFC7950. There is @@ -25,5 +25,5 @@ public interface NotificationStatementContainer { * * @return collection of notification statements */ - @Nonnull Collection getNotifications(); + @NonNull Collection getNotifications(); } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/OperationDeclaredStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/OperationDeclaredStatement.java index c92ebba2a2..0ee3a15830 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/OperationDeclaredStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/OperationDeclaredStatement.java @@ -7,10 +7,11 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; +import static com.google.common.base.Verify.verifyNotNull; + import com.google.common.annotations.Beta; import java.util.Collection; import java.util.Optional; -import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; /** @@ -20,8 +21,9 @@ import org.opendaylight.yangtools.yang.common.QName; public interface OperationDeclaredStatement extends DocumentedDeclaredStatement.WithStatus, OperationGroup, IfFeatureAwareDeclaredStatement { @Override - default @Nonnull QName getName() { - return argument(); + default QName getName() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } @Override @@ -37,12 +39,12 @@ public interface OperationDeclaredStatement extends DocumentedDeclaredStatement. } @Override - default @Nonnull Collection getTypedefs() { + default Collection getTypedefs() { return declaredSubstatements(TypedefStatement.class); } @Override - default @Nonnull Collection getGroupings() { + default Collection getGroupings() { return declaredSubstatements(GroupingStatement.class); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/OperationGroup.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/OperationGroup.java index c10b1f0229..c4ee17d5b0 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/OperationGroup.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/OperationGroup.java @@ -10,8 +10,8 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; import java.util.Collection; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.yangtools.yang.common.QName; /** @@ -23,11 +23,11 @@ import org.opendaylight.yangtools.yang.common.QName; @Beta public interface OperationGroup extends DocumentationGroup.WithStatus, ConditionalFeature { - @Nonnull QName getName(); + @NonNull QName getName(); - @Nonnull Collection getTypedefs(); + @NonNull Collection getTypedefs(); - @Nonnull Collection getGroupings(); + @NonNull Collection getGroupings(); @Nullable InputStatement getInput(); diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/OrderedByStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/OrderedByStatement.java index e837b390ac..554f2159d4 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/OrderedByStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/OrderedByStatement.java @@ -7,12 +7,14 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nonnull; +import static com.google.common.base.Verify.verifyNotNull; + +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; public interface OrderedByStatement extends DeclaredStatement { - default @Nonnull String getValue() { - return argument(); + default @NonNull String getValue() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } } - diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/OrganizationStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/OrganizationStatement.java index 17ee20476d..456c8e7113 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/OrganizationStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/OrganizationStatement.java @@ -7,12 +7,14 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nonnull; +import static com.google.common.base.Verify.verifyNotNull; + +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; public interface OrganizationStatement extends DeclaredStatement { - default @Nonnull String getText() { - return argument(); + default @NonNull String getText() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } } - diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PathStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PathStatement.java index 07836f71c4..15ee8ea0a5 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PathStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PathStatement.java @@ -7,14 +7,16 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nonnull; +import static com.google.common.base.Verify.verifyNotNull; + +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.RevisionAwareXPath; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; public interface PathStatement extends DeclaredStatement { // FIXME: Introduce proper type representing parsed leafref - default @Nonnull String getValue() { - return rawArgument(); + default @NonNull String getValue() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(rawArgument()); } } - diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PatternStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PatternStatement.java index 078e1a109c..b147685742 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PatternStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PatternStatement.java @@ -7,14 +7,17 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; +import static com.google.common.base.Verify.verifyNotNull; + import java.util.Optional; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.yangtools.yang.model.api.type.PatternConstraint; public interface PatternStatement extends ConstrainedDocumentedDeclaredStatement { - default @Nonnull PatternConstraint getValue() { - return argument(); + default @NonNull PatternConstraint getValue() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } /** diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PrefixStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PrefixStatement.java index 6d555aed01..44354e05cb 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PrefixStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PrefixStatement.java @@ -7,12 +7,14 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nonnull; +import static com.google.common.base.Verify.verifyNotNull; + +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; public interface PrefixStatement extends DeclaredStatement { - default @Nonnull String getValue() { - return rawArgument(); + default @NonNull String getValue() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(rawArgument()); } } - diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PresenceStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PresenceStatement.java index 53135e37f6..c570225b73 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PresenceStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PresenceStatement.java @@ -7,12 +7,14 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nonnull; +import static com.google.common.base.Verify.verifyNotNull; + +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; public interface PresenceStatement extends DeclaredStatement { - default @Nonnull String getValue() { - return argument(); + default @NonNull String getValue() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } } - diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RangeStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RangeStatement.java index 072734010a..40713334b1 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RangeStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RangeStatement.java @@ -8,10 +8,9 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import java.util.List; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; public interface RangeStatement extends ConstrainedDocumentedDeclaredStatement> { - @Nonnull @Override - List argument(); + @NonNull List argument(); } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ReferenceStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ReferenceStatement.java index 4efc770ccd..e5341c8eec 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ReferenceStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ReferenceStatement.java @@ -7,12 +7,14 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nonnull; +import static com.google.common.base.Verify.verifyNotNull; + +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; public interface ReferenceStatement extends DeclaredStatement { - default @Nonnull String getText() { - return rawArgument(); + default @NonNull String getText() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(rawArgument()); } } - diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RefineStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RefineStatement.java index 3fef92eb87..fb9afef396 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RefineStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RefineStatement.java @@ -7,20 +7,23 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; +import static com.google.common.base.Verify.verifyNotNull; + import java.util.Collection; import java.util.Optional; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; public interface RefineStatement extends ConfigStatementAwareDeclaredStatement, DocumentedDeclaredStatement, IfFeatureAwareDeclaredStatement, MandatoryStatementAwareDeclaredStatement, MustStatementAwareDeclaredStatement { - default @Nonnull String getTargetNode() { - return rawArgument(); + default @NonNull String getTargetNode() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(rawArgument()); } - default @Nonnull Collection getDefaults() { + default @NonNull Collection getDefaults() { return declaredSubstatements(DefaultStatement.class); } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RevisionAwareDeclaredStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RevisionAwareDeclaredStatement.java index 206180e0c5..da30a7b69e 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RevisionAwareDeclaredStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RevisionAwareDeclaredStatement.java @@ -9,13 +9,12 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; import java.util.Collection; -import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; @Beta public interface RevisionAwareDeclaredStatement extends DeclaredStatement, RevisionGroup { @Override - default @Nonnull Collection getRevisions() { + default Collection getRevisions() { return declaredSubstatements(RevisionStatement.class); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RevisionGroup.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RevisionGroup.java index 9d9c8c5a9d..32f99c7f6d 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RevisionGroup.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RevisionGroup.java @@ -8,11 +8,11 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import java.util.Collection; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; @Rfc6020AbnfRule("revision-stmts") @Deprecated public interface RevisionGroup { - @Nonnull Collection getRevisions(); + @NonNull Collection getRevisions(); } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/StatusStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/StatusStatement.java index 4600919518..ee1dfbf773 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/StatusStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/StatusStatement.java @@ -7,13 +7,15 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nonnull; +import static com.google.common.base.Verify.verifyNotNull; + +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; public interface StatusStatement extends DeclaredStatement { - default @Nonnull Status getValue() { - return argument(); + default @NonNull Status getValue() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } } - diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/SubmoduleStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/SubmoduleStatement.java index 9dbfbd28c4..2e003dbdea 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/SubmoduleStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/SubmoduleStatement.java @@ -7,14 +7,17 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; +import static com.google.common.base.Verify.verifyNotNull; + import java.util.Optional; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; public interface SubmoduleStatement extends MetaDeclaredStatement, LinkageDeclaredStatement, RevisionAwareDeclaredStatement, BodyDeclaredStatement { - default @Nonnull String getName() { - return rawArgument(); + default @NonNull String getName() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(rawArgument()); } default @Nullable YangVersionStatement getYangVersion() { @@ -22,7 +25,7 @@ public interface SubmoduleStatement extends MetaDeclaredStatement, Linka return opt.isPresent() ? opt.get() : null; } - default @Nonnull BelongsToStatement getBelongsTo() { + default @NonNull BelongsToStatement getBelongsTo() { return findFirstDeclaredSubstatement(BelongsToStatement.class).get(); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/TypeAwareDeclaredStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/TypeAwareDeclaredStatement.java index fcbdb3df7e..51964353f3 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/TypeAwareDeclaredStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/TypeAwareDeclaredStatement.java @@ -9,20 +9,18 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; import java.util.Optional; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; @Beta public interface TypeAwareDeclaredStatement extends DeclaredStatement, TypeGroup { @Override - default @Nonnull TypeStatement getType() { + default TypeStatement getType() { return findFirstDeclaredSubstatement(TypeStatement.class).get(); } @Override - default @Nullable UnitsStatement getUnits() { + default UnitsStatement getUnits() { final Optional opt = findFirstDeclaredSubstatement(UnitsStatement.class); return opt.isPresent() ? opt.get() : null; } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/TypeGroup.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/TypeGroup.java index f0c488a323..880f6e79c4 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/TypeGroup.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/TypeGroup.java @@ -7,13 +7,13 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; @Deprecated public interface TypeGroup { - @Nonnull TypeStatement getType(); + @NonNull TypeStatement getType(); @Nullable UnitsStatement getUnits(); } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/TypeStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/TypeStatement.java index d419d880dc..41887f65bb 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/TypeStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/TypeStatement.java @@ -7,29 +7,32 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; +import static com.google.common.base.Verify.verifyNotNull; + import java.util.Collection; import java.util.Optional; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; @Rfc6020AbnfRule("type-stmt") public interface TypeStatement extends DeclaredStatement { - default @Nonnull String getName() { - return argument(); + default @NonNull String getName() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } @Rfc6020AbnfRule("numerical-restrictions") interface NumericalRestrictions extends TypeStatement { - default @Nonnull RangeStatement getRange() { + default @NonNull RangeStatement getRange() { return findFirstDeclaredSubstatement(RangeStatement.class).get(); } } @Rfc6020AbnfRule("decimal64-specification") interface Decimal64Specification extends TypeStatement { - default @Nonnull FractionDigitsStatement getFractionDigits() { + default @NonNull FractionDigitsStatement getFractionDigits() { return findFirstDeclaredSubstatement(FractionDigitsStatement.class).get(); } @@ -46,7 +49,7 @@ public interface TypeStatement extends DeclaredStatement { return opt.isPresent() ? opt.get() : null; } - default @Nonnull Collection getPatterns() { + default @NonNull Collection getPatterns() { return declaredSubstatements(PatternStatement.class); } } @@ -54,14 +57,14 @@ public interface TypeStatement extends DeclaredStatement { @Rfc6020AbnfRule("enum-specification") interface EnumSpecification extends TypeStatement { - default @Nonnull Collection getEnums() { + default @NonNull Collection getEnums() { return declaredSubstatements(EnumStatement.class); } } @Rfc6020AbnfRule("leafref-specification") interface LeafrefSpecification extends TypeStatement { - default @Nonnull PathStatement getPath() { + default @NonNull PathStatement getPath() { return findFirstDeclaredSubstatement(PathStatement.class).get(); } @@ -101,28 +104,28 @@ public interface TypeStatement extends DeclaredStatement { * @return collection of base statements (in YANG 1.1 models) or a collection containing just one base * statement (in YANG 1.0 models) */ - default @Nonnull Collection getBases() { + default @NonNull Collection getBases() { return declaredSubstatements(BaseStatement.class); } } @Rfc6020AbnfRule("bits-specification") interface BitsSpecification extends TypeStatement { - default @Nonnull Collection getBits() { + default @NonNull Collection getBits() { return declaredSubstatements(BitStatement.class); } } @Rfc6020AbnfRule("union-specification") interface UnionSpecification extends TypeStatement { - default @Nonnull Collection getTypes() { + default @NonNull Collection getTypes() { return declaredSubstatements(TypeStatement.class); } } @Rfc6020AbnfRule("binary-specification") interface BinarySpecification extends TypeStatement { - default @Nonnull Collection getLength() { + default @NonNull Collection getLength() { return declaredSubstatements(LengthStatement.class); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/TypedefEffectiveStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/TypedefEffectiveStatement.java index f030d0a3f3..da3b3e977a 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/TypedefEffectiveStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/TypedefEffectiveStatement.java @@ -8,7 +8,7 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; @@ -23,5 +23,5 @@ public interface TypedefEffectiveStatement extends EffectiveStatement asTypeEffectiveStatement(); + @NonNull TypeEffectiveStatement asTypeEffectiveStatement(); } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/TypedefStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/TypedefStatement.java index c0d9305374..2329c11844 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/TypedefStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/TypedefStatement.java @@ -7,13 +7,15 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nonnull; +import static com.google.common.base.Verify.verifyNotNull; + +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; public interface TypedefStatement extends DocumentedDeclaredStatement.WithStatus, TypeAwareDeclaredStatement, DefaultStatementAwareDeclaredStatement { - default @Nonnull QName getName() { - return argument(); + default @NonNull QName getName() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } } - diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/UniqueStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/UniqueStatement.java index 726b08419f..2712cb9701 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/UniqueStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/UniqueStatement.java @@ -7,12 +7,17 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; +import static com.google.common.base.Verify.verifyNotNull; + import java.util.Collection; -import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Relative; public interface UniqueStatement extends DeclaredStatement> { - @Nonnull Collection getTag(); + default Collection getTag() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); + } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/UnitsStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/UnitsStatement.java index 19f2cb8c57..127481acbe 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/UnitsStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/UnitsStatement.java @@ -7,11 +7,14 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nonnull; +import static com.google.common.base.Verify.verifyNotNull; + +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; public interface UnitsStatement extends DeclaredStatement { - default @Nonnull String getName() { - return argument(); + default @NonNull String getName() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/UnknownStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/UnknownStatement.java index 7819a447f7..d4d326d8df 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/UnknownStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/UnknownStatement.java @@ -7,7 +7,7 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nullable; +import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; /** diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/UsesStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/UsesStatement.java index 3ceb4faac2..4f6bd7b6ec 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/UsesStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/UsesStatement.java @@ -8,14 +8,14 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import java.util.Collection; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; public interface UsesStatement extends DataDefinitionStatement { - default @Nonnull Collection getRefines() { + default @NonNull Collection getRefines() { return declaredSubstatements(RefineStatement.class); } - default @Nonnull Collection getAugments() { + default @NonNull Collection getAugments() { return declaredSubstatements(AugmentStatement.class); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/WhenStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/WhenStatement.java index 6d4ec05d63..ac8d6fffa5 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/WhenStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/WhenStatement.java @@ -7,12 +7,14 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nonnull; +import static com.google.common.base.Verify.verifyNotNull; + +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.RevisionAwareXPath; public interface WhenStatement extends DocumentedDeclaredStatement { - default @Nonnull RevisionAwareXPath getCondition() { - return argument(); + default @NonNull RevisionAwareXPath getCondition() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } } - diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/WhenStatementAwareDeclaredStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/WhenStatementAwareDeclaredStatement.java index d0eb147c0a..396ae2d6ee 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/WhenStatementAwareDeclaredStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/WhenStatementAwareDeclaredStatement.java @@ -9,13 +9,12 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; import java.util.Optional; -import javax.annotation.Nullable; @Beta public interface WhenStatementAwareDeclaredStatement extends IfFeatureAwareDeclaredStatement, ConditionalDataDefinition { @Override - default @Nullable WhenStatement getWhenStatement() { + default WhenStatement getWhenStatement() { final Optional opt = findFirstDeclaredSubstatement(WhenStatement.class); return opt.isPresent() ? opt.get() : null; } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/YangVersionStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/YangVersionStatement.java index 68b12f1184..74df26cc3b 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/YangVersionStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/YangVersionStatement.java @@ -7,13 +7,16 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import javax.annotation.Nonnull; +import static com.google.common.base.Verify.verifyNotNull; + +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.YangVersion; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; public interface YangVersionStatement extends DeclaredStatement { - default @Nonnull YangVersion getValue() { - return argument(); + default @NonNull YangVersion getValue() { + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/ErrorAppTagStatementImpl.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/ErrorAppTagStatementImpl.java index 082dc7e47c..c60f1de30b 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/ErrorAppTagStatementImpl.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/ErrorAppTagStatementImpl.java @@ -7,7 +7,6 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.error_app_tag; -import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.stmt.ErrorAppTagStatement; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractDeclaredStatement; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; @@ -16,10 +15,4 @@ final class ErrorAppTagStatementImpl extends AbstractDeclaredStatement i ErrorAppTagStatementImpl(final StmtContext context) { super(context); } - - @Nonnull - @Override - public String getValue() { - return argument(); - } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/IfFeatureStatementImpl.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/IfFeatureStatementImpl.java index 64abce215a..f3eb3c2e0a 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/IfFeatureStatementImpl.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/IfFeatureStatementImpl.java @@ -7,6 +7,8 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.if_feature; +import static com.google.common.base.Verify.verifyNotNull; + import java.util.Set; import java.util.function.Predicate; import org.opendaylight.yangtools.yang.common.QName; @@ -22,6 +24,7 @@ final class IfFeatureStatementImpl extends AbstractDeclaredStatement> getIfFeaturePredicate() { - return argument(); + // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here + return verifyNotNull(argument()); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/unique/UniqueStatementImpl.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/unique/UniqueStatementImpl.java index e9d543da9d..c8bf424d07 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/unique/UniqueStatementImpl.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/unique/UniqueStatementImpl.java @@ -8,22 +8,13 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.unique; import java.util.Collection; -import javax.annotation.Nonnull; -import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier; import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Relative; import org.opendaylight.yangtools.yang.model.api.stmt.UniqueStatement; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractDeclaredStatement; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -final class UniqueStatementImpl extends AbstractDeclaredStatement> - implements UniqueStatement { - UniqueStatementImpl(final StmtContext, UniqueStatement, ?> context) { +final class UniqueStatementImpl extends AbstractDeclaredStatement> implements UniqueStatement { + UniqueStatementImpl(final StmtContext, UniqueStatement, ?> context) { super(context); } - - @Nonnull - @Override - public Collection getTag() { - return argument(); - } }