View Javadoc
1   package com.atlassian.activeobjects.external;
2   
3   public final class ModelVersion implements Comparable<ModelVersion> {
4       private final int version;
5   
6       private ModelVersion(int version) {
7           this.version = version;
8       }
9   
10      @Override
11      public int compareTo(ModelVersion mv) {
12          return version - mv.version;
13      }
14  
15      public boolean isOlderThan(ModelVersion mv) {
16          return compareTo(mv) < 0;
17      }
18  
19      public boolean isNewerThan(ModelVersion mv) {
20          return compareTo(mv) > 0;
21      }
22  
23      public boolean isSame(ModelVersion mv) {
24          return compareTo(mv) == 0;
25      }
26  
27      @Override
28      public String toString() {
29          return String.valueOf(version);
30      }
31  
32      public static ModelVersion valueOf(String s) {
33          return s == null ? zero() : new ModelVersion(Integer.valueOf(s));
34      }
35  
36      private static ModelVersion zero() {
37          return new ModelVersion(0);
38      }
39  }