From: Robert Varga Date: Mon, 17 Jan 2022 19:09:57 +0000 (+0100) Subject: Disconnect yang-model-ri from Builder X-Git-Tag: v8.0.0~76 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F37%2F99337%2F2;p=yangtools.git Disconnect yang-model-ri from Builder concepts.Builder is going away, remove its use from yang-model-ri. JIRA: YANGTOOLS-1328 Change-Id: I42dabe2924bffc2d6c60ed70111b7d65735cbee0 Signed-off-by: Robert Varga --- diff --git a/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/type/BitBuilder.java b/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/type/BitBuilder.java index c58874bb1a..eee87a5bb3 100644 --- a/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/type/BitBuilder.java +++ b/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/type/BitBuilder.java @@ -12,7 +12,7 @@ import static java.util.Objects.requireNonNull; import com.google.common.annotations.Beta; import com.google.common.collect.ImmutableList; import java.util.Collection; -import org.opendaylight.yangtools.concepts.Builder; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.concepts.Mutable; import org.opendaylight.yangtools.yang.common.Uint32; import org.opendaylight.yangtools.yang.model.api.Status; @@ -25,7 +25,7 @@ import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition.Bit; * @author Robert Varga */ @Beta -public final class BitBuilder implements Builder, Mutable { +public final class BitBuilder implements Mutable { private final String name; private final Uint32 position; @@ -39,37 +39,41 @@ public final class BitBuilder implements Builder, Mutable { this.position = requireNonNull(position); } - public static BitBuilder create(final String name, final Uint32 position) { + public static @NonNull BitBuilder create(final String name, final Uint32 position) { return new BitBuilder(name, position); } - public BitBuilder setDescription(final String description) { + public @NonNull BitBuilder setDescription(final String description) { this.description = description; return this; } - public BitBuilder setReference(final String reference) { + public @NonNull BitBuilder setReference(final String reference) { this.reference = reference; return this; } - public BitBuilder setStatus(final Status status) { + public @NonNull BitBuilder setStatus(final Status status) { this.status = requireNonNull(status); return this; } - public BitBuilder setUnknownSchemaNodes(final Collection unknownSchemaNodes) { + public @NonNull BitBuilder setUnknownSchemaNodes(final Collection unknownSchemaNodes) { this.unknownSchemaNodes = ImmutableList.copyOf(unknownSchemaNodes); return this; } - public BitBuilder setUnknownSchemaNodes(final UnknownSchemaNode... unknownSchemaNodes) { + public @NonNull BitBuilder setUnknownSchemaNodes(final UnknownSchemaNode... unknownSchemaNodes) { this.unknownSchemaNodes = ImmutableList.copyOf(unknownSchemaNodes); return this; } - @Override - public Bit build() { + /** + * Return the {@link Bit} corresponding to current builder state. + * + * @return A Bit + */ + public @NonNull Bit build() { return new BitImpl(name, position, description, reference, status, unknownSchemaNodes); } } diff --git a/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/type/EnumPairBuilder.java b/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/type/EnumPairBuilder.java index d154f1786c..63d9accb6a 100644 --- a/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/type/EnumPairBuilder.java +++ b/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/type/EnumPairBuilder.java @@ -12,7 +12,7 @@ import static java.util.Objects.requireNonNull; import com.google.common.annotations.Beta; import com.google.common.collect.ImmutableList; import java.util.Collection; -import org.opendaylight.yangtools.concepts.Builder; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.concepts.Mutable; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; @@ -20,11 +20,9 @@ import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition.EnumPai /** * Utility builder for {@link EnumPair} instances. - * - * @author Robert Varga */ @Beta -public final class EnumPairBuilder implements Builder, Mutable { +public final class EnumPairBuilder implements Mutable { private final String name; private final Integer value; @@ -38,37 +36,42 @@ public final class EnumPairBuilder implements Builder, Mutable { this.value = requireNonNull(value); } - public static EnumPairBuilder create(final String name, final Integer value) { + public static @NonNull EnumPairBuilder create(final String name, final Integer value) { return new EnumPairBuilder(name, value); } - public EnumPairBuilder setDescription(final String description) { + public @NonNull EnumPairBuilder setDescription(final String description) { this.description = description; return this; } - public EnumPairBuilder setReference(final String reference) { + public @NonNull EnumPairBuilder setReference(final String reference) { this.reference = reference; return this; } - public EnumPairBuilder setStatus(final Status status) { + public @NonNull EnumPairBuilder setStatus(final Status status) { this.status = requireNonNull(status); return this; } - public EnumPairBuilder setUnknownSchemaNodes(final Collection unknownSchemaNodes) { + public @NonNull EnumPairBuilder setUnknownSchemaNodes( + final Collection unknownSchemaNodes) { this.unknownSchemaNodes = ImmutableList.copyOf(unknownSchemaNodes); return this; } - public EnumPairBuilder setUnknownSchemaNodes(final UnknownSchemaNode... unknownSchemaNodes) { + public @NonNull EnumPairBuilder setUnknownSchemaNodes(final UnknownSchemaNode... unknownSchemaNodes) { this.unknownSchemaNodes = ImmutableList.copyOf(unknownSchemaNodes); return this; } - @Override - public EnumPair build() { + /** + * Return an {@link EnumPair} representation of this builder's current state. + * + * @return An EnumPair + */ + public @NonNull EnumPair build() { return new EnumPairImpl(name, value, description, reference, status, unknownSchemaNodes); } } diff --git a/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/type/TypeBuilder.java b/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/type/TypeBuilder.java index c2474f5cf8..0e31233af1 100644 --- a/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/type/TypeBuilder.java +++ b/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/type/TypeBuilder.java @@ -12,12 +12,12 @@ import static java.util.Objects.requireNonNull; import com.google.common.collect.ImmutableList; import java.util.Collection; import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.yangtools.concepts.Builder; +import org.opendaylight.yangtools.concepts.Mutable; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.TypeDefinition; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; -public abstract class TypeBuilder> implements Builder { +public abstract class TypeBuilder> implements Mutable { private final ImmutableList.Builder unknownSchemaNodes = ImmutableList.builder(); private final @NonNull QName qname; private final T baseType; @@ -27,6 +27,13 @@ public abstract class TypeBuilder> implements Builde this.baseType = baseType; } + /** + * Build a {@link TypeDefinition} corresponding to this builder. + * + * @return A TypeDefinition + */ + public abstract @NonNull T build(); + final T getBaseType() { return baseType; } diff --git a/model/yang-model-ri/src/test/java/org/opendaylight/yangtools/yang/model/ri/type/TypeTest.java b/model/yang-model-ri/src/test/java/org/opendaylight/yangtools/yang/model/ri/type/TypeTest.java index e5437673da..b820820826 100644 --- a/model/yang-model-ri/src/test/java/org/opendaylight/yangtools/yang/model/ri/type/TypeTest.java +++ b/model/yang-model-ri/src/test/java/org/opendaylight/yangtools/yang/model/ri/type/TypeTest.java @@ -23,7 +23,6 @@ import com.google.common.collect.RangeSet; import java.util.List; import java.util.Optional; import org.junit.Test; -import org.opendaylight.yangtools.concepts.Builder; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.Uint32; import org.opendaylight.yangtools.yang.model.api.ConstraintMetaDefinition; @@ -479,7 +478,7 @@ public class TypeTest { assertEquals(type1, type2); } - private static void restrictedBuilderTest(final Builder typeBuilder1, final Builder typeBuilder2) { + private static void restrictedBuilderTest(final TypeBuilder typeBuilder1, final TypeBuilder typeBuilder2) { final TypeDefinition typeDefinition1 = ((AbstractRestrictedTypeBuilder) typeBuilder1).buildType(); final TypeDefinition typeDefinition2 = ((AbstractRestrictedTypeBuilder) typeBuilder2).buildType(); hashCodeEqualsToStringTest(typeDefinition1, typeDefinition2);