Package com.ericsson.otp.erlang

## Class OtpErlangPort

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

- All Implemented Interfaces:
    `java.io.Serializable`, `java.lang.Cloneable`

      public class OtpErlangPort
      extends OtpErlangObject

  Provides a Java representation of Erlang ports.
  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
    --- | ---
    `OtpErlangPort​(int tag, java.lang.String node, long id, int creation)` | Create an Erlang port from its components.
    `OtpErlangPort​(OtpInputStream buf)` | Create an Erlang port from a stream containing a port encoded in Erlang external format.
    `OtpErlangPort​(java.lang.String node, long id, int creation)` | Create an Erlang port from its components.

  - ### Method Summary

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

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

    - #### OtpErlangPort

          public OtpErlangPort​(OtpInputStream buf)
                        throws OtpErlangDecodeException

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

    - #### OtpErlangPort

          public OtpErlangPort​(java.lang.String node,
                               long id,
                               int creation)

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

    - #### OtpErlangPort

          public OtpErlangPort​(int tag,
                               java.lang.String node,
                               long id,
                               int creation)

      Create an Erlang port from its components.
      Parameters:
        `tag` - the external format to be compliant with. OtpExternal.portTag where only a subset of the bits are used (see other constructor) OtpExternal.newPortTag where all 32 bits of id and creation are significant. newPortTag can only be decoded by OTP-19 and newer.
        `node` - the nodename.
        `id` - an arbitrary number. Only the low order 28 bits will be used.
        `creation` - another arbitrary number.

  - ### Method Detail

    - #### tag

          protected int tag()

    - #### id

          public long id()

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

    - #### creation

          public int creation()

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

    - #### node

          public java.lang.String node()

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

    - #### toString

          public java.lang.String toString()

      Get the string representation of the port. Erlang ports are printed as #Port<node.id>.
      Specified by:
        `toString` in class `OtpErlangObject`
      Returns:
        the string representation of the port.

    - #### encode

          public void encode​(OtpOutputStream buf)

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

    - #### equals

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

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

    - #### doHashCode

          protected int doHashCode()

      Overrides:
        `doHashCode` in class `OtpErlangObject`