Package com.ericsson.otp.erlang
Class OtpErlangLong
- java.lang.Object
-
- com.ericsson.otp.erlang.OtpErlangObject
-
- com.ericsson.otp.erlang.OtpErlangLong
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
- Direct Known Subclasses:
OtpErlangByte
,OtpErlangChar
,OtpErlangInt
,OtpErlangShort
,OtpErlangUInt
,OtpErlangUShort
public class OtpErlangLong extends OtpErlangObject
Provides a Java representation of Erlang integral types. Erlang does not distinguish between different integral types, however this class and its subclassesOtpErlangByte
,OtpErlangChar
,OtpErlangInt
, andOtpErlangShort
attempt to map the Erlang types onto the various Java integral types. Two additional classes,OtpErlangUInt
andOtpErlangUShort
are provided for Corba compatibility. See the documentation for IC for more information.- See Also:
- Serialized Form
-
-
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
Constructors Constructor Description OtpErlangLong(long l)
Create an Erlang integer from the given value.OtpErlangLong(OtpInputStream buf)
Create an Erlang integer from a stream containing an integer encoded in Erlang external format.OtpErlangLong(java.math.BigInteger v)
Create an Erlang integer from the given value.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.math.BigInteger
bigIntegerValue()
Get this number as a BigInteger.int
bitLength()
Returns the number of bits in the minimal two's-complement representation of this BigInteger, excluding a sign bit.byte
byteValue()
Get this number as a byte.char
charValue()
Get this number as a char.protected int
doHashCode()
void
encode(OtpOutputStream buf)
Convert this number to the equivalent Erlang external representation.boolean
equals(java.lang.Object o)
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
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.short
shortValue()
Get this number as a short.int
signum()
Return the signum function of this object.java.lang.String
toString()
Get the string representation of this number.int
uIntValue()
Get this number as a non-negative int.short
uShortValue()
Get this number as a non-negative short.
-
-
-
Constructor Detail
-
OtpErlangLong
public OtpErlangLong(long l)
Create an Erlang integer from the given value.- Parameters:
l
- the long value to use.
-
OtpErlangLong
public OtpErlangLong(java.math.BigInteger v)
Create an Erlang integer from the given value.- Parameters:
v
- the big integer value to use.
-
OtpErlangLong
public OtpErlangLong(OtpInputStream buf) throws OtpErlangDecodeException
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 Detail
-
bigIntegerValue
public java.math.BigInteger 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
public int intValue() throws OtpErlangRangeException
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
public int uIntValue() throws OtpErlangRangeException
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
public short shortValue() throws OtpErlangRangeException
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
public short uShortValue() throws OtpErlangRangeException
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
public char charValue() throws OtpErlangRangeException
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
public byte byteValue() throws OtpErlangRangeException
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
public java.lang.String toString()
Get the string representation of this number.- Specified by:
toString
in classOtpErlangObject
- Returns:
- the string representation of this number.
-
encode
public void encode(OtpOutputStream buf)
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
public boolean equals(java.lang.Object o)
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
-
-