net.sourceforge.juint
Class UInt32

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

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

Unsigned 32-bit integer.

See Also:
Serialized Form

Field Summary
static long MAX_VALUE
          The largest possible value.
static long MIN_VALUE
          The smallest possible value.
 
Constructor Summary
UInt32(byte[] doubleWord)
          Creates a new instance from a byte array.
UInt32(int doubleWord)
          Creates a new instance from an int.
UInt32(long doubleWord)
          Creates a new instance from a long.
UInt32(short doubleWord)
          Creates a new instance from a short.
 
Method Summary
 UInt32 addBitmask(UInt32 bitmask)
          Sets the bits in the given bitmask.
 UInt32 and(UInt32 number)
          Logical and.
 int compareTo(java.lang.Object object)
          Compares this UInt32 to another UInt32 for order.
 double doubleValue()
          Gets the value as a double.
 boolean equals(java.lang.Object object)
          Compares this UInt32 to anoter UInt32 for equality.
 float floatValue()
          Gets the value as a float.
 boolean hasBitmask(UInt32 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.
 UInt32 not()
          Logical not.
 UInt32 or(UInt32 number)
          Logical or.
 UInt32 removeBitmask(UInt32 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.
 long uint32Value()
          Gets the value as an unsigned 32-bit integer.
static UInt32 valueOfBigEndian(byte[] doubleWord)
          Creates a new instance from a byte array.
static UInt32 valueOfLittleEndian(byte[] doubleWord)
          Creates a new instance from a byte array.
 UInt32 xor(UInt32 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 long MAX_VALUE
The largest possible value.

4294967295L

See Also:
Constant Field Values

MIN_VALUE

public static final long MIN_VALUE
The smallest possible value.

0L

See Also:
Constant Field Values
Constructor Detail

UInt32

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

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

UInt32

public UInt32(short doubleWord)
Creates a new instance from a short.

Parameters:
doubleWord - the value to be represented

UInt32

public UInt32(int doubleWord)
Creates a new instance from an int.

Parameters:
doubleWord - the value to be represented

UInt32

public UInt32(long doubleWord)
Creates a new instance from a long.

Parameters:
doubleWord - the value to be represented
Method Detail

valueOfBigEndian

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

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

valueOfLittleEndian

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

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

uint32Value

public long uint32Value()
Gets the value as an unsigned 32-bit integer.

Returns:
the value as an unsigned 32-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 4.

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 4.

Returns:
the value as a little-endian byte array

compareTo

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

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

equals

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

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

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 UInt32 and(UInt32 number)
Description copied from interface: Bitwise
Logical and.

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

not

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

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

or

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

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

xor

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

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

addBitmask

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

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

hasBitmask

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

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

removeBitmask

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

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