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
ConstructorsConstructorDescriptionOtpErlangLong(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.intReturns the number of bits in the minimal two's-complement representation of this BigInteger, excluding a sign bit.byteGet this number as a byte.charGet this number as a char.protected intvoidencode(OtpOutputStream buf) Convert this number to the equivalent Erlang external representation.booleanDetermine if two numbers are equal.intintValue()Get this number as an int.booleanisLong()Determine if this value can be represented as a long without truncation.booleanisULong()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.longGet 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.shortGet this number as a short.intsignum()Return the signum function of this object.toString()Get the string representation of this number.intGet this number as a non-negative int.shortGet 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:
toStringin classOtpErlangObject- Returns:
- the string representation of this number.
-
encode
Convert this number to the equivalent Erlang external representation.- Specified by:
encodein 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:
equalsin classOtpErlangObject- Parameters:
o- the number to compare to.- Returns:
- true if the numbers have the same value.
-
doHashCode
protected int doHashCode()- Overrides:
doHashCodein classOtpErlangObject
-