Package com.ericsson.otp.erlang

## Class OtpErlangPid

- java.lang.Object
- - com.ericsson.otp.erlang.OtpErlangObject
  - - com.ericsson.otp.erlang.OtpErlangPid

- All Implemented Interfaces:
    `java.io.Serializable`, `java.lang.Cloneable`, `java.lang.Comparable<java.lang.Object>`

      public class OtpErlangPid
      extends OtpErlangObject
      implements java.lang.Comparable<java.lang.Object>

  Provides a Java representation of Erlang PIDs. PIDs represent Erlang processes and consist of a nodename and a number of integers.
  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
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `OtpErlangPid​(int tag, java.lang.String node, int id, int serial, int creation)` | Create an Erlang pid from its components.
    `` | `OtpErlangPid​(OtpInputStream buf)` | Create an Erlang PID from a stream containing a PID encoded in Erlang external format.
    `` | `OtpErlangPid​(OtpLocalNode self)` | Deprecated. use OtpLocalNode:createPid() instead
    `` | `OtpErlangPid​(java.lang.String node, int id, int serial, int creation)` | Create an Erlang pid from its components.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `compareTo​(java.lang.Object o)` |
    `int` | `creation()` | Get the creation number from the PID.
    `protected int` | `doHashCode()` |
    `void` | `encode​(OtpOutputStream buf)` | Convert this PID to the equivalent Erlang external representation.
    `boolean` | `equals​(java.lang.Object o)` | Determine if two PIDs are equal.
    `int` | `id()` | Get the id number from the PID.
    `java.lang.String` | `node()` | Get the node name from the PID.
    `int` | `serial()` | Get the serial number from the PID.
    `protected int` | `tag()` |
    `java.lang.String` | `toString()` | Get the string representation of the PID.

    - ### 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

    - #### OtpErlangPid

          @Deprecated
          public OtpErlangPid​(OtpLocalNode self)

      Deprecated.
      use OtpLocalNode:createPid() instead
      Create a unique Erlang PID belonging to the local node.
      Parameters:
        `self` - the local node.

    - #### OtpErlangPid

          public OtpErlangPid​(OtpInputStream buf)
                       throws OtpErlangDecodeException

      Create an Erlang PID from a stream containing a PID encoded in Erlang external format.
      Parameters:
        `buf` - the stream containing the encoded PID.
      Throws:
        `OtpErlangDecodeException` - if the buffer does not contain a valid external representation of an Erlang PID.

    - #### OtpErlangPid

          public OtpErlangPid​(java.lang.String node,
                              int id,
                              int serial,
                              int creation)

      Create an Erlang pid from its components.
      Parameters:
        `node` - the nodename.
        `id` - an arbitrary number. Only the low order 15 bits will be used.
        `serial` - another arbitrary number. Only the low order 13 bits will be used.
        `creation` - node incarnation number. Avoid values 0 to 3.

    - #### OtpErlangPid

          protected OtpErlangPid​(int tag,
                                 java.lang.String node,
                                 int id,
                                 int serial,
                                 int creation)

      Create an Erlang pid from its components.
      Parameters:
        `tag` - the external format to be compliant with OtpExternal.pidTag where only a subset of the bits are significant (see other constructor). OtpExternal.newPidTag where all 32 bits of id,serial and creation are significant. newPidTag can only be decoded by OTP-19 and newer.
        `node` - the nodename.
        `id` - an arbitrary number.
        `serial` - another arbitrary number.
        `creation` - yet another arbitrary number.

  - ### Method Detail

    - #### tag

          protected int tag()

    - #### serial

          public int serial()

      Get the serial number from the PID.
      Returns:
        the serial number from the PID.

    - #### id

          public int id()

      Get the id number from the PID.
      Returns:
        the id number from the PID.

    - #### creation

          public int creation()

      Get the creation number from the PID.
      Returns:
        the creation number from the PID.

    - #### node

          public java.lang.String node()

      Get the node name from the PID.
      Returns:
        the node name from the PID.

    - #### toString

          public java.lang.String toString()

      Get the string representation of the PID. Erlang PIDs are printed as #Pid<node.id.serial>
      Specified by:
        `toString` in class `OtpErlangObject`
      Returns:
        the string representation of the PID.

    - #### encode

          public void encode​(OtpOutputStream buf)

      Convert this PID to the equivalent Erlang external representation.
      Specified by:
        `encode` in class `OtpErlangObject`
      Parameters:
        `buf` - an output stream to which the encoded PID should be written.

    - #### equals

          public boolean equals​(java.lang.Object o)

      Determine if two PIDs are equal. PIDs are equal if their components are equal.
      Specified by:
        `equals` in class `OtpErlangObject`
      Parameters:
        `o` - the other PID to compare to.
      Returns:
        true if the PIDs are equal, false otherwise.

    - #### doHashCode

          protected int doHashCode()

      Overrides:
        `doHashCode` in class `OtpErlangObject`

    - #### compareTo

          public int compareTo​(java.lang.Object o)

      Specified by:
        `compareTo` in interface `java.lang.Comparable<java.lang.Object>`