X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=common%2Fconcepts%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fconcepts%2FSemVer.java;h=eda29f7cc368b8271f5b51bb3ce22f32d999b657;hb=4216ac5e7807383568681fa6b09e49a26c33f7c5;hp=ea4813a0514eccab6231173144dc8cff61c55a0a;hpb=6bb7f3a20168a59eeeea366d7d30fa29702e522f;p=yangtools.git diff --git a/common/concepts/src/main/java/org/opendaylight/yangtools/concepts/SemVer.java b/common/concepts/src/main/java/org/opendaylight/yangtools/concepts/SemVer.java index ea4813a051..eda29f7cc3 100644 --- a/common/concepts/src/main/java/org/opendaylight/yangtools/concepts/SemVer.java +++ b/common/concepts/src/main/java/org/opendaylight/yangtools/concepts/SemVer.java @@ -7,11 +7,13 @@ */ package org.opendaylight.yangtools.concepts; +import static com.google.common.base.Preconditions.checkArgument; + import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; import java.io.Serializable; import java.util.Objects; -import javax.annotation.Nonnull; +import org.checkerframework.checker.index.qual.NonNegative; +import org.eclipse.jdt.annotation.NonNull; /** * A single version according to Semantic Versioning. @@ -24,27 +26,28 @@ public final class SemVer implements Comparable, Serializable { private final int patch; private SemVer(final int major, final int minor, final int patch) { - Preconditions.checkArgument(major >= 0); + checkArgument(major >= 0); this.major = major; - Preconditions.checkArgument(minor >= 0); + checkArgument(minor >= 0); this.minor = minor; - Preconditions.checkArgument(patch >= 0); + checkArgument(patch >= 0); this.patch = patch; } - public static SemVer create(final int major) { + public static @NonNull SemVer create(final @NonNegative int major) { return create(major, 0); } - public static SemVer create(final int major, final int minor) { + public static @NonNull SemVer create(final @NonNegative int major, final @NonNegative int minor) { return create(major, minor, 0); } - public static SemVer create(final int major, final int minor, final int patch) { + public static @NonNull SemVer create(final @NonNegative int major, final @NonNegative int minor, + final @NonNegative int patch) { return new SemVer(major, minor, patch); } - public static SemVer valueOf(@Nonnull final String str) { + public static @NonNull SemVer valueOf(final @NonNull String str) { final int minorIdx = str.indexOf('.'); if (minorIdx == -1) { return create(Integer.parseInt(str)); @@ -90,7 +93,7 @@ public final class SemVer implements Comparable, Serializable { } @Override - public int compareTo(@Nonnull final SemVer other) { + public int compareTo(final SemVer other) { int cmp = Integer.compare(major, other.major); if (cmp == 0) { cmp = Integer.compare(minor, other.minor); @@ -109,15 +112,8 @@ public final class SemVer implements Comparable, Serializable { @Override public boolean equals(final Object obj) { - if (this == obj) { - return true; - } - if (!(obj instanceof SemVer)) { - return false; - } - - final SemVer o = (SemVer) obj; - return major == o.major && minor == o.minor && patch == o.patch; + return this == obj || obj instanceof SemVer other && major == other.major && minor == other.minor + && patch == other.patch; } @Override