home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 June / CHIPHEFT062001.ISO / browser / nc32lyc / comm.z / java40.jar / netscape / softupdate / VersionInfo.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-08-15  |  2.1 KB  |  108 lines

  1. package netscape.softupdate;
  2.  
  3. public class VersionInfo {
  4.    public static final int MAJOR_DIFF = 4;
  5.    public static final int MINOR_DIFF = 3;
  6.    public static final int REL_DIFF = 2;
  7.    public static final int BLD_DIFF = 1;
  8.    public static final int EQUAL = 0;
  9.    private int major;
  10.    private int minor;
  11.    private int release;
  12.    private int build;
  13.    private int check;
  14.  
  15.    public VersionInfo(int var1, int var2, int var3, int var4) {
  16.       this(var1, var2, var3, var4, 0);
  17.    }
  18.  
  19.    public VersionInfo(int var1, int var2, int var3, int var4, int var5) {
  20.       this.major = var1;
  21.       this.minor = var2;
  22.       this.release = var3;
  23.       this.build = var4;
  24.       this.check = var5;
  25.    }
  26.  
  27.    public VersionInfo(String var1) {
  28.       int var2 = var1.indexOf(46);
  29.  
  30.       try {
  31.          if (var2 == -1) {
  32.             this.major = Integer.parseInt(var1);
  33.             return;
  34.          }
  35.  
  36.          this.major = Integer.parseInt(var1.substring(0, var2));
  37.          int var3 = var2 + 1;
  38.          var2 = var1.indexOf(46, var3);
  39.          if (var2 == -1) {
  40.             this.minor = Integer.parseInt(var1.substring(var3));
  41.             return;
  42.          }
  43.  
  44.          this.minor = Integer.parseInt(var1.substring(var3, var2));
  45.          var3 = var2 + 1;
  46.          var2 = var1.indexOf(46, var3);
  47.          if (var2 == -1) {
  48.             this.release = Integer.parseInt(var1.substring(var3));
  49.             return;
  50.          }
  51.  
  52.          this.release = Integer.parseInt(var1.substring(var3, var2));
  53.          if (var1.length() > var2) {
  54.             this.build = Integer.parseInt(var1.substring(var2 + 1));
  55.             return;
  56.          }
  57.       } catch (Exception var4) {
  58.       }
  59.  
  60.    }
  61.  
  62.    public String toString() {
  63.       String var1 = String.valueOf(this.major) + "." + this.minor + "." + this.release + "." + this.build;
  64.       return var1;
  65.    }
  66.  
  67.    public int compareTo(VersionInfo var1) {
  68.       byte var2;
  69.       if (var1 == null) {
  70.          var2 = 4;
  71.       } else if (this.major == var1.major) {
  72.          if (this.minor == var1.minor) {
  73.             if (this.release == var1.release) {
  74.                if (this.build == var1.build) {
  75.                   var2 = 0;
  76.                } else if (this.build > var1.build) {
  77.                   var2 = 1;
  78.                } else {
  79.                   var2 = -1;
  80.                }
  81.             } else if (this.release > var1.release) {
  82.                var2 = 2;
  83.             } else {
  84.                var2 = -2;
  85.             }
  86.          } else if (this.minor > var1.minor) {
  87.             var2 = 3;
  88.          } else {
  89.             var2 = -3;
  90.          }
  91.       } else if (this.major > var1.major) {
  92.          var2 = 4;
  93.       } else {
  94.          var2 = -4;
  95.       }
  96.  
  97.       return var2;
  98.    }
  99.  
  100.    public int compareTo(String var1) {
  101.       return this.compareTo(new VersionInfo(var1));
  102.    }
  103.  
  104.    public int compareTo(int var1, int var2, int var3, int var4) {
  105.       return this.compareTo(new VersionInfo(var1, var2, var3, var4));
  106.    }
  107. }
  108.