diff options
Diffstat (limited to 'src/traffic-incidents-service/org.genivi.trafficinfo.dbus-java/src/main/java/org/freedesktop/dbus/UInt32.java')
-rwxr-xr-x | src/traffic-incidents-service/org.genivi.trafficinfo.dbus-java/src/main/java/org/freedesktop/dbus/UInt32.java | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/src/traffic-incidents-service/org.genivi.trafficinfo.dbus-java/src/main/java/org/freedesktop/dbus/UInt32.java b/src/traffic-incidents-service/org.genivi.trafficinfo.dbus-java/src/main/java/org/freedesktop/dbus/UInt32.java new file mode 100755 index 0000000..17b9f07 --- /dev/null +++ b/src/traffic-incidents-service/org.genivi.trafficinfo.dbus-java/src/main/java/org/freedesktop/dbus/UInt32.java @@ -0,0 +1,79 @@ +/* + D-Bus Java Implementation + Copyright (c) 2005-2006 Matthew Johnson + + This program is free software; you can redistribute it and/or modify it + under the terms of either the GNU Lesser General Public License Version 2 or the + Academic Free Licence Version 2.1. + + Full licence texts are included in the COPYING file with this program. +*/ +package org.freedesktop.dbus; + +import static org.freedesktop.dbus.Gettext._; + +import java.text.MessageFormat; + +/** + * Class to represent unsigned 32-bit numbers. + */ +@SuppressWarnings("serial") +public class UInt32 extends Number implements Comparable<UInt32> +{ + /** Maximum allowed value */ + public static final long MAX_VALUE = 4294967295L; + /** Minimum allowed value */ + public static final long MIN_VALUE = 0; + private long value; + /** Create a UInt32 from a long. + * @param value Must be a valid integer within MIN_VALUE–MAX_VALUE + * @throws NumberFormatException if value is not between MIN_VALUE and MAX_VALUE + */ + public UInt32(long value) + { + if (value < MIN_VALUE || value > MAX_VALUE) + throw new NumberFormatException(MessageFormat.format(_("{0} is not between {1} and {2}."), new Object[] { value, MIN_VALUE, MAX_VALUE})); + this.value = value; + } + /** Create a UInt32 from a String. + * @param value Must parse to a valid integer within MIN_VALUE–MAX_VALUE + * @throws NumberFormatException if value is not an integer between MIN_VALUE and MAX_VALUE + */ + public UInt32(String value) + { + this(Long.parseLong(value)); + } + /** The value of this as a byte. */ + public byte byteValue() { return (byte) value; } + /** The value of this as a double. */ + public double doubleValue() { return (double) value; } + /** The value of this as a float. */ + public float floatValue() { return (float) value; } + /** The value of this as a int. */ + public int intValue() { return (int) value; } + /** The value of this as a long. */ + public long longValue() { return /*(long)*/ value; } + /** The value of this as a short. */ + public short shortValue(){ return (short) value; } + /** Test two UInt32s for equality. */ + public boolean equals(Object o) + { + return o instanceof UInt32 && ((UInt32) o).value == this.value; + } + public int hashCode() + { + return (int) value; + } + /** Compare two UInt32s. + * @return 0 if equal, -ve or +ve if they are different. + */ + public int compareTo(UInt32 other) + { + return (int) (this.value - other.value); + } + /** The value of this as a string */ + public String toString() + { + return ""+value; + } +} |