home *** CD-ROM | disk | FTP | other *** search
- package org.xbill.DNS;
-
- public final class Serial {
- private static final long MAX32 = 4294967295L;
-
- private Serial() {
- }
-
- public static int compare(long serial1, long serial2) {
- if (serial1 >= 0L && serial1 <= 4294967295L) {
- if (serial2 >= 0L && serial2 <= 4294967295L) {
- long diff = serial1 - serial2;
- if (diff >= 4294967295L) {
- diff -= 4294967296L;
- } else if (diff < -4294967295L) {
- diff += 4294967296L;
- }
-
- return (int)diff;
- } else {
- throw new IllegalArgumentException(serial2 + " out of range");
- }
- } else {
- throw new IllegalArgumentException(serial1 + " out of range");
- }
- }
-
- public static long increment(long serial) {
- if (serial >= 0L && serial <= 4294967295L) {
- return serial == 4294967295L ? 0L : serial + 1L;
- } else {
- throw new IllegalArgumentException(serial + " out of range");
- }
- }
- }
-