home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2007 April / PCpro_2007_04.ISO / files / dsl / jNetTool.exe / org / xbill / DNS / Serial.class (.txt) < prev    next >
Encoding:
Java Class File  |  2005-06-05  |  1.1 KB  |  36 lines

  1. package org.xbill.DNS;
  2.  
  3. public final class Serial {
  4.    private static final long MAX32 = 4294967295L;
  5.  
  6.    private Serial() {
  7.    }
  8.  
  9.    public static int compare(long serial1, long serial2) {
  10.       if (serial1 >= 0L && serial1 <= 4294967295L) {
  11.          if (serial2 >= 0L && serial2 <= 4294967295L) {
  12.             long diff = serial1 - serial2;
  13.             if (diff >= 4294967295L) {
  14.                diff -= 4294967296L;
  15.             } else if (diff < -4294967295L) {
  16.                diff += 4294967296L;
  17.             }
  18.  
  19.             return (int)diff;
  20.          } else {
  21.             throw new IllegalArgumentException(serial2 + " out of range");
  22.          }
  23.       } else {
  24.          throw new IllegalArgumentException(serial1 + " out of range");
  25.       }
  26.    }
  27.  
  28.    public static long increment(long serial) {
  29.       if (serial >= 0L && serial <= 4294967295L) {
  30.          return serial == 4294967295L ? 0L : serial + 1L;
  31.       } else {
  32.          throw new IllegalArgumentException(serial + " out of range");
  33.       }
  34.    }
  35. }
  36.