From: Robert Varga Date: Tue, 23 Oct 2018 13:42:28 +0000 (+0200) Subject: Migrate DocumentedNode/Status to JDT annotations X-Git-Tag: v2.1.3~39 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=dbe90727194b03e303eb1a245f98eb210f33b512;p=yangtools.git Migrate DocumentedNode/Status to JDT annotations Switch DocumentedNode and its implementation to JDT nullable annotations. JIRA: YANGTOOLS-907 Change-Id: I7eea3429d1ee7617f0731c7416456a44e2caffbe Signed-off-by: Robert Varga --- diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/DocumentedNode.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/DocumentedNode.java index b66e447587..d6c387ae28 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/DocumentedNode.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/DocumentedNode.java @@ -10,7 +10,7 @@ package org.opendaylight.yangtools.yang.model.api; import com.google.common.collect.ImmutableList; import java.util.List; import java.util.Optional; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; /** * Node which can have documentation assigned. @@ -35,7 +35,7 @@ public interface DocumentedNode { * * @return list of unknown schema nodes defined under this node. */ - @Nonnull default List getUnknownSchemaNodes() { + default @NonNull List getUnknownSchemaNodes() { return ImmutableList.of(); } @@ -46,6 +46,6 @@ public interface DocumentedNode { * @return status of this node which represents the argument of the YANG * status substatement */ - @Nonnull Status getStatus(); + @NonNull Status getStatus(); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/Status.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/Status.java index af91f69bc4..55f5ccdcf0 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/Status.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/Status.java @@ -7,28 +7,27 @@ */ package org.opendaylight.yangtools.yang.model.api; +import org.eclipse.jdt.annotation.NonNullByDefault; + /** * Enumeration describing YANG 'status' statement. If no status is specified, the * default is CURRENT. */ +@NonNullByDefault public enum Status { - /** * CURRENT means that the definition is current and valid. */ CURRENT, - /** * DEPRECATED indicates an obsolete definition, but it permits new/ * continued implementation in order to foster interoperability with * older/existing implementations. */ DEPRECATED, - /** * OBSOLETE means the definition is obsolete and SHOULD NOT be implemented * and/or can be removed from implementations. */ OBSOLETE - } diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/AbstractSchemaContext.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/AbstractSchemaContext.java index 43b22a45c0..15b42215da 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/AbstractSchemaContext.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/AbstractSchemaContext.java @@ -181,13 +181,11 @@ public abstract class AbstractSchemaContext implements SchemaContext { return SchemaPath.ROOT; } - @Nonnull @Override public Status getStatus() { return Status.CURRENT; } - @Nonnull @Override public List getUnknownSchemaNodes() { final List result = new ArrayList<>(); diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractBaseType.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractBaseType.java index 7b205a877e..043ebcd849 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractBaseType.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractBaseType.java @@ -10,7 +10,6 @@ package org.opendaylight.yangtools.yang.model.util.type; import com.google.common.collect.ImmutableList; import java.util.List; import java.util.Optional; -import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.Status; @@ -51,7 +50,6 @@ abstract class AbstractBaseType> extends AbstractTyp return Optional.empty(); } - @Nonnull @Override public final Status getStatus() { return Status.CURRENT; diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractDerivedType.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractDerivedType.java index 99feb4780d..1425ed4319 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractDerivedType.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractDerivedType.java @@ -7,30 +7,31 @@ */ package org.opendaylight.yangtools.yang.model.util.type; +import static java.util.Objects.requireNonNull; + import com.google.common.base.MoreObjects; -import com.google.common.base.Preconditions; import java.util.Collection; import java.util.Optional; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.TypeDefinition; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; abstract class AbstractDerivedType> extends AbstractTypeDefinition { - private final T baseType; + private final @NonNull T baseType; private final Object defaultValue; private final String description; private final String reference; - private final Status status; + private final @NonNull Status status; private final String units; AbstractDerivedType(final T baseType, final SchemaPath path, final Object defaultValue, final String description, final String reference, final Status status, final String units, final Collection unknownSchemNodes) { super(path, unknownSchemNodes); - this.baseType = Preconditions.checkNotNull(baseType); - this.status = Preconditions.checkNotNull(status); + this.baseType = requireNonNull(baseType); + this.status = requireNonNull(status); this.defaultValue = defaultValue; this.description = description; this.reference = reference; @@ -64,7 +65,6 @@ abstract class AbstractDerivedType> extends Abstract return Optional.ofNullable(reference); } - @Nonnull @Override public final Status getStatus() { return status; diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractRestrictedType.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractRestrictedType.java index 3d94825691..77262c2280 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractRestrictedType.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractRestrictedType.java @@ -7,22 +7,23 @@ */ package org.opendaylight.yangtools.yang.model.util.type; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import java.util.Collection; import java.util.Optional; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.TypeDefinition; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; abstract class AbstractRestrictedType> extends AbstractTypeDefinition { - private final T baseType; + private final @NonNull T baseType; AbstractRestrictedType(final T baseType, final SchemaPath path, final Collection unknownSchemaNodes) { super(path, unknownSchemaNodes); - this.baseType = Preconditions.checkNotNull(baseType); + this.baseType = requireNonNull(baseType); } @Override @@ -50,7 +51,6 @@ abstract class AbstractRestrictedType> extends Abstr return baseType.getReference(); } - @Nonnull @Override public final Status getStatus() { return baseType.getStatus(); diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractTypeDefinition.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractTypeDefinition.java index 3ba29c4a8a..983f55319d 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractTypeDefinition.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractTypeDefinition.java @@ -7,11 +7,13 @@ */ package org.opendaylight.yangtools.yang.model.util.type; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import com.google.common.collect.ImmutableList; import java.util.Collection; import java.util.List; import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.concepts.Immutable; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.SchemaPath; @@ -19,11 +21,11 @@ import org.opendaylight.yangtools.yang.model.api.TypeDefinition; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; abstract class AbstractTypeDefinition> implements Immutable, TypeDefinition { - private final List unknownSchemaNodes; - private final SchemaPath path; + private final @NonNull List unknownSchemaNodes; + private final @NonNull SchemaPath path; AbstractTypeDefinition(final SchemaPath path, final Collection unknownSchemaNodes) { - this.path = Preconditions.checkNotNull(path); + this.path = requireNonNull(path); this.unknownSchemaNodes = ImmutableList.copyOf(unknownSchemaNodes); } @@ -39,7 +41,6 @@ abstract class AbstractTypeDefinition> implements Im return path; } - @Nonnull @Override public final List getUnknownSchemaNodes() { return unknownSchemaNodes; diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/BitImpl.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/BitImpl.java index 579c69f827..8ef077d390 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/BitImpl.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/BitImpl.java @@ -7,11 +7,14 @@ */ package org.opendaylight.yangtools.yang.model.util.type; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + import java.util.List; import java.util.Objects; import java.util.Optional; import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.concepts.Immutable; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.SchemaPath; @@ -20,23 +23,23 @@ import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition.Bit; final class BitImpl implements Bit, Immutable { - private final List unknownNodes; - private final SchemaPath schemaPath; + private final @NonNull List unknownNodes; + private final @NonNull SchemaPath schemaPath; private final String description; private final String reference; - private final Status status; + private final @NonNull Status status; private final long position; BitImpl(final SchemaPath schemaPath, final long position, final String description, final String reference, final Status status, final List unknownNodes) { - this.schemaPath = Preconditions.checkNotNull(schemaPath, "Schema Path should not be null"); + this.schemaPath = requireNonNull(schemaPath, "Schema Path should not be null"); - Preconditions.checkArgument(position >= 0L && position <= 4294967295L, "Invalid position %s", position); + checkArgument(position >= 0L && position <= 4294967295L, "Invalid position %s", position); this.position = position; this.description = description; this.reference = reference; - this.status = Preconditions.checkNotNull(status); - this.unknownNodes = Preconditions.checkNotNull(unknownNodes); + this.status = requireNonNull(status); + this.unknownNodes = requireNonNull(unknownNodes); } @Nonnull @@ -61,13 +64,11 @@ final class BitImpl implements Bit, Immutable { return Optional.ofNullable(reference); } - @Nonnull @Override public Status getStatus() { return status; } - @Nonnull @Override public List getUnknownSchemaNodes() { return unknownNodes; @@ -114,5 +115,4 @@ final class BitImpl implements Bit, Immutable { public String toString() { return Bit.class.getSimpleName() + "[name=" + getQName().getLocalName() + ", position=" + position + "]"; } - } diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/EnumPairImpl.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/EnumPairImpl.java index a0fd036802..918ee783c6 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/EnumPairImpl.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/EnumPairImpl.java @@ -7,36 +7,36 @@ */ package org.opendaylight.yangtools.yang.model.util.type; +import static java.util.Objects.requireNonNull; + import com.google.common.base.MoreObjects; -import com.google.common.base.Preconditions; import java.util.List; import java.util.Objects; import java.util.Optional; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.concepts.Immutable; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition.EnumPair; final class EnumPairImpl implements EnumPair, Immutable { - private final List unknownSchemaNodes; + private final @NonNull List unknownSchemaNodes; private final String description; private final String reference; - private final Status status; - private final String name; + private final @NonNull Status status; + private final @NonNull String name; private final int value; EnumPairImpl(final String name, final int value, final String description, final String reference, final Status status, final List unknownSchemaNodes) { - this.name = Preconditions.checkNotNull(name); + this.name = requireNonNull(name); this.value = value; this.description = description; this.reference = reference; - this.status = Preconditions.checkNotNull(status); - this.unknownSchemaNodes = Preconditions.checkNotNull(unknownSchemaNodes); + this.status = requireNonNull(status); + this.unknownSchemaNodes = requireNonNull(unknownSchemaNodes); } - @Nonnull @Override public List getUnknownSchemaNodes() { return unknownSchemaNodes; @@ -52,7 +52,6 @@ final class EnumPairImpl implements EnumPair, Immutable { return Optional.ofNullable(reference); } - @Nonnull @Override public Status getStatus() { return status; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractEffectiveDocumentedNode.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractEffectiveDocumentedNode.java index 5750165967..d99e7d87a3 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractEffectiveDocumentedNode.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractEffectiveDocumentedNode.java @@ -8,7 +8,7 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt; import java.util.Optional; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.DocumentedNode; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; @@ -22,7 +22,7 @@ public abstract class AbstractEffectiveDocumentedNode deviations; private final List extensionNodes; private final Set identities; - private final List unknownNodes; + private final @NonNull List unknownNodes; private final Map childNodes; private final Set groupings; private final Set uses; @@ -365,7 +364,6 @@ public abstract class AbstractEffectiveModule getUnknownSchemaNodes() { return unknownNodes; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractEffectiveSchemaNode.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractEffectiveSchemaNode.java index 11b441531e..a7a9c45e3f 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractEffectiveSchemaNode.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractEffectiveSchemaNode.java @@ -9,7 +9,7 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt; import com.google.common.collect.ImmutableList; import java.util.List; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.SchemaNode; import org.opendaylight.yangtools.yang.model.api.SchemaPath; @@ -21,8 +21,8 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; public abstract class AbstractEffectiveSchemaNode> extends AbstractSchemaEffectiveDocumentedNode implements SchemaNode { - private final SchemaPath path; - private final List unknownNodes; + private final @NonNull SchemaPath path; + private final @NonNull List unknownNodes; protected AbstractEffectiveSchemaNode(final StmtContext ctx) { super(ctx); @@ -37,19 +37,16 @@ public abstract class AbstractEffectiveSchemaNode getUnknownSchemaNodes() { return unknownNodes; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractEffectiveSimpleDataNodeContainer.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractEffectiveSimpleDataNodeContainer.java index d4eb34cca5..35452c9c98 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractEffectiveSimpleDataNodeContainer.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractEffectiveSimpleDataNodeContainer.java @@ -15,6 +15,7 @@ import java.util.List; import java.util.Optional; import java.util.Set; import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode; import org.opendaylight.yangtools.yang.model.api.AugmentationTarget; @@ -33,7 +34,7 @@ public abstract class AbstractEffectiveSimpleDataNodeContainer implements AugmentationTarget, DataSchemaNode { private final Set augmentations; - private final List unknownNodes; + private final @NonNull List unknownNodes; private final RevisionAwareXPath whenCondition; private final SchemaPath path; private final boolean configuration; @@ -110,7 +111,6 @@ public abstract class AbstractEffectiveSimpleDataNodeContainer getUnknownSchemaNodes() { return unknownNodes; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/UnknownEffectiveStatementBase.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/UnknownEffectiveStatementBase.java index c38505adc7..638929e775 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/UnknownEffectiveStatementBase.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/UnknownEffectiveStatementBase.java @@ -13,6 +13,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList.Builder; import java.util.List; import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.ExtensionDefinition; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; @@ -31,7 +32,7 @@ public abstract class UnknownEffectiveStatementBase unknownNodes; + private final @NonNull List unknownNodes; private final QName nodeType; private final String nodeParameter; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/augment/AugmentEffectiveStatementImpl.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/augment/AugmentEffectiveStatementImpl.java index cbb6a815cc..dc7d0d9b96 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/augment/AugmentEffectiveStatementImpl.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/augment/AugmentEffectiveStatementImpl.java @@ -14,7 +14,7 @@ import java.util.List; import java.util.Objects; import java.util.Optional; import java.util.Set; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.common.Revision; import org.opendaylight.yangtools.yang.model.api.ActionDefinition; @@ -41,7 +41,7 @@ final class AugmentEffectiveStatementImpl private final Revision revision; private final Set actions; private final Set notifications; - private final List unknownNodes; + private final @NonNull List unknownNodes; private final RevisionAwareXPath whenCondition; private final AugmentationSchemaNode copyOf; @@ -92,7 +92,6 @@ final class AugmentEffectiveStatementImpl return Optional.ofNullable(whenCondition); } - @Nonnull @Override public List getUnknownSchemaNodes() { return unknownNodes; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/bit/BitEffectiveStatementImpl.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/bit/BitEffectiveStatementImpl.java index 943dfefd92..d6af45fe09 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/bit/BitEffectiveStatementImpl.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/bit/BitEffectiveStatementImpl.java @@ -11,7 +11,7 @@ import com.google.common.collect.ImmutableList; import java.util.ArrayList; import java.util.List; import java.util.Objects; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; @@ -30,7 +30,7 @@ public final class BitEffectiveStatementImpl extends AbstractEffectiveDocumented private final QName qname; private final SchemaPath schemaPath; private final Long declaredPosition; - private final List unknownSchemaNodes; + private final @NonNull List unknownSchemaNodes; BitEffectiveStatementImpl(final StmtContext ctx) { super(ctx); @@ -69,7 +69,6 @@ public final class BitEffectiveStatementImpl extends AbstractEffectiveDocumented return schemaPath; } - @Nonnull @Override public List getUnknownSchemaNodes() { return unknownSchemaNodes; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/choice/ImplicitCaseSchemaNode.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/choice/ImplicitCaseSchemaNode.java index fc678900a2..9801fb8bf8 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/choice/ImplicitCaseSchemaNode.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/choice/ImplicitCaseSchemaNode.java @@ -12,7 +12,6 @@ import static java.util.Objects.requireNonNull; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import java.util.Collection; -import java.util.List; import java.util.Objects; import java.util.Optional; import java.util.Set; @@ -28,7 +27,6 @@ import org.opendaylight.yangtools.yang.model.api.SchemaNode; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.TypeDefinition; -import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; import org.opendaylight.yangtools.yang.model.api.UsesNode; // FIXME: hide this somewhere @@ -77,12 +75,6 @@ public final class ImplicitCaseSchemaNode implements CaseSchemaNode, DerivableSc return path; } - @Nonnull - @Override - public List getUnknownSchemaNodes() { - return ImmutableList.of(); - } - @Override public Optional getDescription() { return caseShorthandNode.getDescription(); @@ -93,7 +85,6 @@ public final class ImplicitCaseSchemaNode implements CaseSchemaNode, DerivableSc return caseShorthandNode.getReference(); } - @Nonnull @Override public Status getStatus() { return caseShorthandNode.getStatus(); diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviation/DeviationEffectiveStatementImpl.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviation/DeviationEffectiveStatementImpl.java index 1211aefc62..0938f18ceb 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviation/DeviationEffectiveStatementImpl.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviation/DeviationEffectiveStatementImpl.java @@ -12,6 +12,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.Optional; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.concepts.Immutable; import org.opendaylight.yangtools.yang.model.api.DeviateDefinition; import org.opendaylight.yangtools.yang.model.api.Deviation; @@ -32,7 +33,7 @@ final class DeviationEffectiveStatementImpl private final SchemaPath targetPath; private final String description; private final String reference; - private final List unknownSchemaNodes; + private final @NonNull List unknownSchemaNodes; private final List deviateDefinitions; DeviationEffectiveStatementImpl(final StmtContext ctx) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/enum_/EnumEffectiveStatementImpl.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/enum_/EnumEffectiveStatementImpl.java index d8264925ff..54e6b9f0a9 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/enum_/EnumEffectiveStatementImpl.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/enum_/EnumEffectiveStatementImpl.java @@ -10,7 +10,7 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.enum_; import com.google.common.collect.ImmutableList; import java.util.ArrayList; import java.util.List; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.EnumEffectiveStatement; @@ -22,7 +22,7 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; // FIXME: hide this class public final class EnumEffectiveStatementImpl extends AbstractEffectiveDocumentedNode implements EnumEffectiveStatement { - private final List unknownSchemaNodes; + private final @NonNull List unknownSchemaNodes; private final String name; private final Integer declaredValue; @@ -54,7 +54,6 @@ public final class EnumEffectiveStatementImpl extends AbstractEffectiveDocumente return declaredValue; } - @Nonnull @Override public List getUnknownSchemaNodes() { return unknownSchemaNodes; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/ExtensionEffectiveStatementImpl.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/ExtensionEffectiveStatementImpl.java index 36b29275a2..5858dbfe20 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/ExtensionEffectiveStatementImpl.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/ExtensionEffectiveStatementImpl.java @@ -16,6 +16,7 @@ import java.util.List; import java.util.Objects; import java.util.Optional; import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.util.RecursiveObjectLeaker; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.ExtensionDefinition; @@ -67,9 +68,9 @@ final class ExtensionEffectiveStatementImpl extends AbstractEffectiveDocumentedN private final QName qname; private final String argument; - private final SchemaPath schemaPath; + private final @NonNull SchemaPath schemaPath; - private final List unknownNodes; + private final @NonNull List unknownNodes; private final boolean yin; private ExtensionEffectiveStatementImpl( @@ -140,13 +141,11 @@ final class ExtensionEffectiveStatementImpl extends AbstractEffectiveDocumentedN return qname; } - @Nonnull @Override public SchemaPath getPath() { return schemaPath; } - @Nonnull @Override public List getUnknownSchemaNodes() { return unknownNodes; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/grouping/GroupingEffectiveStatementImpl.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/grouping/GroupingEffectiveStatementImpl.java index 92c378d056..07045b18ec 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/grouping/GroupingEffectiveStatementImpl.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/grouping/GroupingEffectiveStatementImpl.java @@ -14,6 +14,7 @@ import java.util.List; import java.util.Objects; import java.util.Set; import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.ActionDefinition; import org.opendaylight.yangtools.yang.model.api.GroupingDefinition; @@ -35,7 +36,7 @@ final class GroupingEffectiveStatementImpl private final boolean addedByUses; private final Set actions; private final Set notifications; - private final List unknownNodes; + private final @NonNull List unknownNodes; GroupingEffectiveStatementImpl( final StmtContext> ctx) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/notification/NotificationEffectiveStatementImpl.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/notification/NotificationEffectiveStatementImpl.java index ac12fc5a1f..4dcd4d4f96 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/notification/NotificationEffectiveStatementImpl.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/notification/NotificationEffectiveStatementImpl.java @@ -16,6 +16,7 @@ import java.util.List; import java.util.Objects; import java.util.Set; import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode; import org.opendaylight.yangtools.yang.model.api.MustDefinition; @@ -36,7 +37,7 @@ final class NotificationEffectiveStatementImpl private final QName qname; private final SchemaPath path; private final Set augmentations; - private final List unknownNodes; + private final @NonNull List unknownNodes; private final boolean augmenting; private final boolean addedByUses; private final Collection mustConstraints; @@ -97,7 +98,6 @@ final class NotificationEffectiveStatementImpl return augmentations; } - @Nonnull @Override public List getUnknownSchemaNodes() { return unknownNodes; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/refine/RefineEffectiveStatementImpl.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/refine/RefineEffectiveStatementImpl.java index 6655b5a210..ee6a5b8100 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/refine/RefineEffectiveStatementImpl.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/refine/RefineEffectiveStatementImpl.java @@ -11,6 +11,7 @@ import com.google.common.collect.ImmutableList; import java.util.List; import java.util.stream.Collectors; import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.SchemaNode; import org.opendaylight.yangtools.yang.model.api.SchemaPath; @@ -27,8 +28,8 @@ public final class RefineEffectiveStatementImpl implements RefineEffectiveStatement, SchemaNode { private final QName qname; - private final SchemaPath path; - private final List unknownNodes; + private final @NonNull SchemaPath path; + private final @NonNull List unknownNodes; private final SchemaNode refineTargetNode; RefineEffectiveStatementImpl(final StmtContext ctx) { @@ -60,7 +61,6 @@ public final class RefineEffectiveStatementImpl return path; } - @Nonnull @Override public List getUnknownSchemaNodes() { return unknownNodes; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/uses/UsesEffectiveStatementImpl.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/uses/UsesEffectiveStatementImpl.java index 8c783950c7..bb38cafd3e 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/uses/UsesEffectiveStatementImpl.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/uses/UsesEffectiveStatementImpl.java @@ -19,6 +19,7 @@ import java.util.Objects; import java.util.Optional; import java.util.Set; import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode; import org.opendaylight.yangtools.yang.model.api.RevisionAwareXPath; @@ -44,7 +45,7 @@ final class UsesEffectiveStatementImpl extends AbstractEffectiveDocumentedNode refines; private final Set augmentations; - private final List unknownNodes; + private final @NonNull List unknownNodes; private final RevisionAwareXPath whenCondition; UsesEffectiveStatementImpl(final StmtContext> ctx) {