Package com.ericsson.otp.erlang

# Class OtpErlangPid

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

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `Comparable<Object>`

public class OtpErlangPid extends OtpErlangObject implements Comparable<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, 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(String node, int id, int serial, int creation)`
Create an Erlang pid from its components.

## Method Summary

Modifier and Type
Method
Description
`int`
`compareTo(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(Object o)`
Determine if two PIDs are equal.
`int`
`id()`
Get the id number from the PID.
`String`
`node()`
Get the node name from the PID.
`int`
`serial()`
Get the serial number from the PID.
`protected int`
`tag()`
`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 Details

### 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(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, 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 Details

### 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 String node()
Get the node name from the PID.

Returns:
  the node name from the PID.

### toString

public 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(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(Object o)

Specified by:
  `compareTo` in interface `Comparable<Object>`