View Javadoc

1   package net.sourceforge.rpgee.utility;
2   
3   import java.util.Locale;
4   
5   import net.sourceforge.rpgee.Localized;
6   
7   import org.joda.time.DateTime;
8   
9   public class Version implements Localized, Comparable<Version> {
10      private static final String PATTERN = "yyyyMMdd hh:mm:ss";
11      private Integer  version = new Integer(0);
12      private Integer  major   = new Integer(0);
13      private Integer  minor   = new Integer(0);
14      private Integer  dot     = new Integer(0);
15      private Integer  build   = new Integer(0);
16      private DateTime time    = new DateTime();
17      private Locale   locale  = Locale.getDefault();
18  
19      public Version(Integer _version, Integer _major, Integer _minor, Integer _dot, Integer _build, DateTime _time, Locale _locale) {
20          super();
21          if (_version != null)
22              this.version = _version;
23          if (_major != null)
24              this.major = _major;
25          if (_minor != null)
26              this.minor = _minor;
27          if (_dot != null)
28              this.dot = _dot;
29          if (_build != null)
30              this.build = _build;
31          if (_time != null)
32              this.time = _time;
33          if (_locale != null)
34              this.locale = _locale;
35      }
36  
37      public Integer getDot() {
38          return dot;
39      }
40  
41      public Integer getMajor() {
42          return major;
43      }
44  
45      public Integer getMinor() {
46          return minor;
47      }
48  
49      public Integer getVersion() {
50          return version;
51      }
52  
53      @Override
54      public String toString() {
55          StringBuffer sb = new StringBuffer("Version ");
56          sb.append(version);
57          sb.append(".").append(major);
58          sb.append(".").append(minor);
59          sb.append("/").append(dot);
60          sb.append(" ( build ").append(build).append(")");
61          sb.append(" ").append(time.toString(PATTERN,locale));
62          // @TODO Auto-generated method stub
63          return super.toString();
64      }
65  
66      public int compareTo(Version o) {
67          if (this.equals(o))
68              return 0;
69          int i = this.getVersion().compareTo(o.getVersion());
70          if (i == 0) {
71              i = this.getMajor().compareTo(o.getMajor());
72              if (i == 0) {
73                  i = this.getMinor().compareTo(o.getMinor());
74                  if (i == 0)
75                      i = this.getDot().compareTo(o.getDot());
76              }
77          }
78          return i;
79      }
80  
81      public boolean equals(Object obj) {
82          if (obj == this)
83              return true;
84          if (obj instanceof Version) {
85              Version o = (Version) obj;
86              return getVersion().equals(o.getVersion()) && getMajor().equals(o.getMajor()) && getMinor().equals(o.getMinor())
87                      && getDot().equals(o.getDot());
88          }
89          return false;
90      }
91  
92      public Locale getLocale() {
93          return locale;
94      }
95  
96  }