Package com.ericsson.otp.erlang
Class OtpErlangLong
java.lang.Object
com.ericsson.otp.erlang.OtpErlangObject
com.ericsson.otp.erlang.OtpErlangLong
- All Implemented Interfaces:
Serializable
,Cloneable
- Direct Known Subclasses:
OtpErlangByte
,OtpErlangChar
,OtpErlangInt
,OtpErlangShort
,OtpErlangUInt
,OtpErlangUShort
Provides a Java representation of Erlang integral types. Erlang does not
distinguish between different integral types, however this class and its
subclasses
OtpErlangByte
, OtpErlangChar
, OtpErlangInt
, and OtpErlangShort
attempt to map the Erlang types onto the various
Java integral types. Two additional classes, OtpErlangUInt
and
OtpErlangUShort
are provided for Corba compatibility. See the
documentation for IC for more information.- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.ericsson.otp.erlang.OtpErlangObject
OtpErlangObject.Hash
-
Field Summary
Fields inherited from class com.ericsson.otp.erlang.OtpErlangObject
hashCodeValue
-
Constructor Summary
ConstructorDescriptionOtpErlangLong
(long l) Create an Erlang integer from the given value.Create an Erlang integer from a stream containing an integer encoded in Erlang external format.Create an Erlang integer from the given value. -
Method Summary
Modifier and TypeMethodDescriptionGet this number as a BigInteger.int
Returns the number of bits in the minimal two's-complement representation of this BigInteger, excluding a sign bit.byte
Get this number as a byte.char
Get this number as a char.protected int
void
encode
(OtpOutputStream buf) Convert this number to the equivalent Erlang external representation.boolean
Determine if two numbers are equal.int
intValue()
Get this number as an int.boolean
isLong()
Determine if this value can be represented as a long without truncation.boolean
isULong()
Determine if this value can be represented as an unsigned long without truncation, that is if the value is non-negative and its bit pattern completely fits in a long.long
Get this number as a long, or rather truncate all but the least significant 64 bits from the 2's complement representation of this number and return them as a long.short
Get this number as a short.int
signum()
Return the signum function of this object.toString()
Get the string representation of this number.int
Get this number as a non-negative int.short
Get this number as a non-negative short.
-
Constructor Details
-
OtpErlangLong
public OtpErlangLong(long l) Create an Erlang integer from the given value.- Parameters:
l
- the long value to use.
-
OtpErlangLong
Create an Erlang integer from the given value.- Parameters:
v
- the big integer value to use.
-
OtpErlangLong
Create an Erlang integer from a stream containing an integer encoded in Erlang external format.- Parameters:
buf
- the stream containing the encoded value.- Throws:
OtpErlangDecodeException
- if the buffer does not contain a valid external representation of an Erlang integer.
-
-
Method Details
-
bigIntegerValue
Get this number as a BigInteger.- Returns:
- the value of this number, as a BigInteger.
-
longValue
public long longValue()Get this number as a long, or rather truncate all but the least significant 64 bits from the 2's complement representation of this number and return them as a long.- Returns:
- the value of this number, as a long.
-
isLong
public boolean isLong()Determine if this value can be represented as a long without truncation.- Returns:
- true if this value fits in a long, false otherwise.
-
isULong
public boolean isULong()Determine if this value can be represented as an unsigned long without truncation, that is if the value is non-negative and its bit pattern completely fits in a long.- Returns:
- true if this value is non-negative and fits in a long false otherwise.
-
bitLength
public int bitLength()Returns the number of bits in the minimal two's-complement representation of this BigInteger, excluding a sign bit.- Returns:
- number of bits in the minimal two's-complement representation of this BigInteger, excluding a sign bit.
-
signum
public int signum()Return the signum function of this object.- Returns:
- -1, 0 or 1 as the value is negative, zero or positive.
-
intValue
Get this number as an int.- Returns:
- the value of this number, as an int.
- Throws:
OtpErlangRangeException
- if the value is too large to be represented as an int.
-
uIntValue
Get this number as a non-negative int.- Returns:
- the value of this number, as an int.
- Throws:
OtpErlangRangeException
- if the value is too large to be represented as an int, or if the value is negative.
-
shortValue
Get this number as a short.- Returns:
- the value of this number, as a short.
- Throws:
OtpErlangRangeException
- if the value is too large to be represented as a short.
-
uShortValue
Get this number as a non-negative short.- Returns:
- the value of this number, as a short.
- Throws:
OtpErlangRangeException
- if the value is too large to be represented as a short, or if the value is negative.
-
charValue
Get this number as a char.- Returns:
- the char value of this number.
- Throws:
OtpErlangRangeException
- if the value is too large to be represented as a char.
-
byteValue
Get this number as a byte.- Returns:
- the byte value of this number.
- Throws:
OtpErlangRangeException
- if the value is too large to be represented as a byte.
-
toString
Get the string representation of this number.- Specified by:
toString
in classOtpErlangObject
- Returns:
- the string representation of this number.
-
encode
Convert this number to the equivalent Erlang external representation.- Specified by:
encode
in classOtpErlangObject
- Parameters:
buf
- an output stream to which the encoded number should be written.
-
equals
Determine if two numbers are equal. Numbers are equal if they contain the same value.- Specified by:
equals
in classOtpErlangObject
- Parameters:
o
- the number to compare to.- Returns:
- true if the numbers have the same value.
-
doHashCode
protected int doHashCode()- Overrides:
doHashCode
in classOtpErlangObject
-