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

    - ### Methods inherited from class com.ericsson.otp.erlang.OtpErlangObject

      `bind, clone, decode, hashCode, match`

    - ### Methods inherited from class java.lang.Object

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### 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 class `OtpErlangObject`
      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 class `OtpErlangObject`
      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 class `OtpErlangObject`
      Parameters:
        `o` - the number to compare to.
      Returns:
        true if the numbers have the same value.

    - #### doHashCode

          protected int doHashCode()

      Overrides:
        `doHashCode` in class `OtpErlangObject`