Index: lutinutil/src/java/org/codelutin/util/VersionNumber.java diff -u lutinutil/src/java/org/codelutin/util/VersionNumber.java:1.2 lutinutil/src/java/org/codelutin/util/VersionNumber.java:1.3 --- lutinutil/src/java/org/codelutin/util/VersionNumber.java:1.2 Fri Jan 4 09:49:47 2008 +++ lutinutil/src/java/org/codelutin/util/VersionNumber.java Sat Jan 5 16:05:21 2008 @@ -18,6 +18,8 @@ * ##% */ package org.codelutin.util; +import java.util.Arrays; + /** * A class to represent an application version * @@ -38,6 +40,13 @@ return numbers; } + public int getNumber(int level) { + if (level<0 || level>=numbers.length) { + throw new IllegalArgumentException("not a valid level "+level+ " for the VersionNumber "+this); + } + return numbers[level]; + } + public int getNbComponents() { return numbers.length; } @@ -59,4 +68,19 @@ } return VersionNumberUtil.greaterThan(str, ostr) ? 1 : -1; } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof VersionNumber)) return false; + + VersionNumber that = (VersionNumber) o; + return Arrays.equals(numbers, that.numbers); + + } + + @Override + public int hashCode() { + return Arrays.hashCode(numbers); + } }