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