nodejs: better sorting of node interpreters (first sort by version, then by path)
[idea/community.git] / platform / util / src / com / intellij / util / text / SemVer.java
index 749e85640d318a1db697043346fd3a3307da45a6..5a37e1e8caf48ded44027dd16f11f321003bee45 100644 (file)
@@ -22,10 +22,8 @@ import java.util.regex.Pattern;
 
 /**
  * See http://semver.org
- *
- * @author Sergey Simonchik
  */
-public class SemVer {
+public class SemVer implements Comparable<SemVer> {
   private final int myMajor;
   private final int myMinor;
   private final int myPatch;
@@ -116,4 +114,19 @@ public class SemVer {
     }
   }
 
+
+  @Override
+  public int compareTo(SemVer other) {
+    // null is not permitted
+    if (getMajor() != other.getMajor()) {
+      return getMajor() - other.getMajor();
+    }
+    if (getMinor() != other.getMinor()) {
+      return getMinor() - other.getMinor();
+    }
+    if (getPatch() != other.getPatch()) {
+      return getPatch() - other.getPatch();
+    }
+    return 0;
+  }
 }