java.lang.Object
java.lang.Number
org.joou.UNumber
org.joou.UInteger
- All Implemented Interfaces:
Serializable
,Comparable<UInteger>
The
unsigned int
type- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final String
private static final int
Default size for the value cache.static final UInteger
A constant holding the maximum value anunsigned int
can have as UInteger, 232-1.static final long
A constant holding the maximum value anunsigned int
can have, 232-1.static final UInteger
A constant holding the minimum value anunsigned int
can have as UInteger, 0.static final long
A constant holding the minimum value anunsigned int
can have, 0.private static final String
System property name for the property to set the size of the pre-cache.private static final long
Generated UIDprivate final long
The value modelling the content of thisunsigned int
private static final UInteger[]
Cached values -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionadd
(int val) int
double
boolean
float
private static UInteger
getCached
(long value) Retrieve a cached value.private static final int
Figure out the size of the precache.int
hashCode()
int
intValue()
long
private static final UInteger[]
mkValues()
Generate a cached value for initial unsigned integer values.private static long
rangeCheck
(long value) Throw exception if value out of range (long version)private Object
Replace version read through deserialization with cached version.subtract
(int val) Get this number as aBigInteger
.toString()
static UInteger
valueOf
(int value) Create anunsigned int
by masking it with0xFFFFFFFF
i.e.static UInteger
valueOf
(long value) Create anunsigned int
static UInteger
Create anunsigned int
private static UInteger
valueOfUnchecked
(long value) Get the value of a long without checking the value.Methods inherited from class java.lang.Number
byteValue, shortValue
-
Field Details
-
CLASS
-
CLASS_NAME
-
PRECACHE_PROPERTY
System property name for the property to set the size of the pre-cache. -
DEFAULT_PRECACHE_SIZE
private static final int DEFAULT_PRECACHE_SIZEDefault size for the value cache.- See Also:
-
serialVersionUID
private static final long serialVersionUIDGenerated UID- See Also:
-
VALUES
Cached values -
MIN_VALUE
public static final long MIN_VALUEA constant holding the minimum value anunsigned int
can have, 0.- See Also:
-
MAX_VALUE
public static final long MAX_VALUEA constant holding the maximum value anunsigned int
can have, 232-1.- See Also:
-
MIN
A constant holding the minimum value anunsigned int
can have as UInteger, 0. -
MAX
A constant holding the maximum value anunsigned int
can have as UInteger, 232-1. -
value
private final long valueThe value modelling the content of thisunsigned int
-
-
Constructor Details
-
UInteger
private UInteger(long value, boolean unused) Unchecked internal constructor. This serves two purposes: first it allowsUInteger(long)
to stay deprecated without warnings and second constructor without unnecessary value checks.- Parameters:
value
- The value to wrapunused
- Unused parameter to distinguish between this and the deprecated public constructor.
-
UInteger
Create anunsigned int
- Throws:
NumberFormatException
- Ifvalue
is not in the range of anunsigned int
-
UInteger
private UInteger(int value) Create anunsigned int
by masking it with0xFFFFFFFF
i.e.(int) -1
becomes(uint) 4294967295
-
UInteger
Create anunsigned int
- Throws:
NumberFormatException
- Ifvalue
does not contain a parsableunsigned int
.
-
-
Method Details
-
getPrecacheSize
private static final int getPrecacheSize()Figure out the size of the precache.- Returns:
- The parsed value of the system property
PRECACHE_PROPERTY
orDEFAULT_PRECACHE_SIZE
if the property is not set, not a number or retrieving results in aSecurityException
. If the parsed value is zero or negative no cache will be created. If the value is larger thanInteger.MAX_VALUE
then Integer#MAX_VALUE will be used.
-
mkValues
Generate a cached value for initial unsigned integer values.- Returns:
- Array of cached values for UInteger
-
getCached
Retrieve a cached value.- Parameters:
value
- Cached value to retrieve- Returns:
- Cached value if one exists. Null otherwise.
-
valueOfUnchecked
Get the value of a long without checking the value. -
valueOf
Create anunsigned int
- Throws:
NumberFormatException
- Ifvalue
does not contain a parsableunsigned int
.
-
valueOf
Create anunsigned int
by masking it with0xFFFFFFFF
i.e.(int) -1
becomes(uint) 4294967295
-
valueOf
Create anunsigned int
- Throws:
NumberFormatException
- Ifvalue
is not in the range of anunsigned byte
-
rangeCheck
Throw exception if value out of range (long version)- Parameters:
value
- Value to check- Returns:
- value if it is in range
- Throws:
NumberFormatException
- if value is out of range
-
readResolve
Replace version read through deserialization with cached version.- Returns:
- cached instance of this object's value if one exists, otherwise this object
- Throws:
ObjectStreamException
-
intValue
public int intValue() -
longValue
public long longValue() -
floatValue
public float floatValue()- Specified by:
floatValue
in classNumber
-
doubleValue
public double doubleValue()- Specified by:
doubleValue
in classNumber
-
toBigInteger
Description copied from class:UNumber
Get this number as aBigInteger
. This is a convenience method for callingnew BigInteger(toString())
- Overrides:
toBigInteger
in classUNumber
-
hashCode
public int hashCode() -
equals
-
toString
-
compareTo
- Specified by:
compareTo
in interfaceComparable<UInteger>
-
add
-
add
-
subtract
-
subtract
-