net.sourceforge.juint
Class UInt16

java.lang.Object
  extended by java.lang.Number
      extended by net.sourceforge.juint.UInt16
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable, Bitwise<UInt16>

public class UInt16
extends java.lang.Number
implements java.io.Serializable, java.lang.Comparable, Bitwise<UInt16>

Unsigned 16-bit integer.

See Also:
Serialized Form

Field Summary
static int MAX_VALUE
          The largest possible value.
static int MIN_VALUE
          The smallest possible value.
 
Constructor Summary
UInt16(byte[] word)
          Creates a new instance from a byte array.
UInt16(int word)
          Creates a new instance from an int.
UInt16(long word)
          Creates a new instance from a long.
UInt16(short word)
          Creates a new instance from a short.
 
Method Summary
 UInt16 addBitmask(UInt16 bitmask)
          Sets the bits in the given bitmask.
 UInt16 and(UInt16 number)
          Logical and.
 int compareTo(java.lang.Object object)
          Compares this UInt16 to another UInt16 for order.
 double doubleValue()
          Gets the value as a double.
 boolean equals(java.lang.Object object)
          Compares this UInt16 to anoter UInt16 for equality.
 float floatValue()
          Gets the value as a float.
 boolean hasBitmask(UInt16 bitmask)
          Determines if this number has the given bitmask.
 int hashCode()
          Gets the hash code.
 int intValue()
          Gets the value as an int.
 long longValue()
          Gets the value as a long.
 UInt16 not()
          Logical not.
 UInt16 or(UInt16 number)
          Logical or.
 UInt16 removeBitmask(UInt16 bitmask)
          Unsets the bits in the given bitmask.
 byte[] toBigEndian()
          Gets the value as a byte array.
 byte[] toLittleEndian()
          Gets the value as a byte array.
 java.lang.String toString()
          Gets the value as a String.
 int uint16Value()
          Gets the value as an unsigned 16-bit integer.
static UInt16 valueOfBigEndian(byte[] word)
          Creates a new instance from a byte array.
static UInt16 valueOfLittleEndian(byte[] word)
          Creates a new instance from a byte array.
 UInt16 xor(UInt16 number)
          Logical xor.
 
Methods inherited from class java.lang.Number
byteValue, shortValue
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

MAX_VALUE

public static final int MAX_VALUE
The largest possible value.

65535

See Also:
Constant Field Values

MIN_VALUE

public static final int MIN_VALUE
The smallest possible value.

0

See Also:
Constant Field Values
Constructor Detail

UInt16

public UInt16(byte[] word)
       throws java.lang.IllegalArgumentException
Creates a new instance from a byte array. The array must have a length of 2 and be in big-endian byte order.

Parameters:
word - the value to be represented
Throws:
java.lang.IllegalArgumentException - if word is null or if the length does not equal 2

UInt16

public UInt16(short word)
Creates a new instance from a short.

Parameters:
word - the value to be represented

UInt16

public UInt16(int word)
Creates a new instance from an int.

Parameters:
word - the value to be represented

UInt16

public UInt16(long word)
Creates a new instance from a long.

Parameters:
word - the value to be represented
Method Detail

valueOfBigEndian

public static UInt16 valueOfBigEndian(byte[] word)
                               throws java.lang.IllegalArgumentException
Creates a new instance from a byte array. The array must have a length of 2 and be in big-endian byte order.

Parameters:
word - the value to be represented
Throws:
java.lang.IllegalArgumentException - if word is null or if the length does not equal 2

valueOfLittleEndian

public static UInt16 valueOfLittleEndian(byte[] word)
                                  throws java.lang.IllegalArgumentException
Creates a new instance from a byte array. The array must have a length of 2 and be in little-endian byte order.

Parameters:
word - the value to be represented
Throws:
java.lang.IllegalArgumentException - if word is null or if the length does not equal 2

uint16Value

public int uint16Value()
Gets the value as an unsigned 16-bit integer.

Returns:
the value as an unsigned 16-bit integer

intValue

public int intValue()
Gets the value as an int.

Specified by:
intValue in class java.lang.Number
Returns:
the value as an int

longValue

public long longValue()
Gets the value as a long.

Specified by:
longValue in class java.lang.Number
Returns:
the value as a long

floatValue

public float floatValue()
Gets the value as a float.

Specified by:
floatValue in class java.lang.Number
Returns:
the value as a float

doubleValue

public double doubleValue()
Gets the value as a double.

Specified by:
doubleValue in class java.lang.Number
Returns:
the value as a double

toBigEndian

public byte[] toBigEndian()
Gets the value as a byte array. The array will be in big-endian byte order and have a length of 2.

Returns:
the value as a big-endian byte array

toLittleEndian

public byte[] toLittleEndian()
Gets the value as a byte array. The array will be in litte-endian byte order and have a length of 2.

Returns:
the value as a little-endian byte array

compareTo

public int compareTo(java.lang.Object object)
Compares this UInt16 to another UInt16 for order.

Specified by:
compareTo in interface java.lang.Comparable
Parameters:
object - a UInt16

equals

public boolean equals(java.lang.Object object)
Compares this UInt16 to anoter UInt16 for equality.

Overrides:
equals in class java.lang.Object
Parameters:
object - a UInt16

hashCode

public int hashCode()
Gets the hash code. The result is the value returned from intValue().

Overrides:
hashCode in class java.lang.Object
Returns:
the hash code

toString

public java.lang.String toString()
Gets the value as a String.

Overrides:
toString in class java.lang.Object
Returns:
the value as a String

and

public UInt16 and(UInt16 number)
Description copied from interface: Bitwise
Logical and.

Specified by:
and in interface Bitwise<UInt16>
Returns:
the result of the and

not

public UInt16 not()
Description copied from interface: Bitwise
Logical not.

Specified by:
not in interface Bitwise<UInt16>
Returns:
the result of the not

or

public UInt16 or(UInt16 number)
Description copied from interface: Bitwise
Logical or.

Specified by:
or in interface Bitwise<UInt16>
Returns:
the result of the or

xor

public UInt16 xor(UInt16 number)
Description copied from interface: Bitwise
Logical xor.

Specified by:
xor in interface Bitwise<UInt16>
Returns:
the result of the xor

addBitmask

public UInt16 addBitmask(UInt16 bitmask)
Description copied from interface: Bitwise
Sets the bits in the given bitmask.

Specified by:
addBitmask in interface Bitwise<UInt16>
Returns:
the number with the bits set

hasBitmask

public boolean hasBitmask(UInt16 bitmask)
Description copied from interface: Bitwise
Determines if this number has the given bitmask.

Specified by:
hasBitmask in interface Bitwise<UInt16>
Returns:
true if the number has the bitmask; false otherwise

removeBitmask

public UInt16 removeBitmask(UInt16 bitmask)
Description copied from interface: Bitwise
Unsets the bits in the given bitmask.

Specified by:
removeBitmask in interface Bitwise<UInt16>
Returns:
the number with the bits unset