Java tutorial
/* * 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 java.text.MessageFormat; /** * Class to represent 16-bit unsigned integers. */ @SuppressWarnings("serial") public class UInt16 extends Number implements Comparable<UInt16> { /** Maximum possible value. */ public static final int MAX_VALUE = 65535; /** Minimum possible value. */ public static final int MIN_VALUE = 0; private int value; /** * Create a UInt16 from an int. * * @param value * Must be within MIN_VALUE–MAX_VALUE * @throws NumberFormatException * if value is not between MIN_VALUE and MAX_VALUE */ public UInt16(int value) { this.value = value; } /** * Create a UInt16 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 UInt16(String value) { this(Integer.parseInt(value)); } /** The value of this as a byte. */ @Override public byte byteValue() { return (byte) value; } /** * Compare two UInt16s. * * @return 0 if equal, -ve or +ve if they are different. */ public int compareTo(UInt16 other) { return /* (int) */(value - other.value); } /** The value of this as a double. */ @Override public double doubleValue() { return value; } /** Test two UInt16s for equality. */ @Override public boolean equals(Object o) { return (o instanceof UInt16) && (((UInt16) o).value == value); } /** The value of this as a float. */ @Override public float floatValue() { return value; } @Override public int hashCode() { return /* (int) */value; } /** The value of this as a int. */ @Override public int intValue() { return /* (int) */value; } /** The value of this as a long. */ @Override public long longValue() { return value; } /** The value of this as a short. */ @Override public short shortValue() { return (short) value; } /** The value of this as a string. */ @Override public String toString() { return "" + value; } }