Implement some compareTo() methods.
[Persons_Comparator.git] / src / Weight.java
index 3f2a829163130f8bba5c5ed1e22e5fdd0fa916c3..e79d1025a9e35977344ab5003e129df1aa88ff03 100644 (file)
@@ -1,4 +1,4 @@
-public class Weight {
+public class Weight implements Comparable<Weight> {
     private int weight;
 
     Weight(int weight) {
@@ -12,10 +12,21 @@ public class Weight {
     public void setWeight(int weight) {
         if (validateWeight(weight)) {
             this.weight = weight;
-        } /* FIXME: raise an error */
+        } else {
+            throw new IllegalArgumentException("Weight cannot be negative or zero");
+        }
     }
 
     private boolean validateWeight(int weight) {
         return (weight > 0);
     }
+
+    @Override
+    public int compareTo(Weight weight) {
+        int distance = weight.weight - this.getWeight();
+        if (distance >= 0)
+            return distance;
+        else
+            return -distance;
+    }
 }