public class OtpErlangRef extends OtpErlangObject
OtpErlangObject.Hash
hashCodeValue
Constructor and Description |
---|
OtpErlangRef(int tag,
java.lang.String node,
int[] ids,
int creation)
Create a new(er) style Erlang ref from its components.
|
OtpErlangRef(OtpInputStream buf)
Create an Erlang ref from a stream containing a ref encoded in Erlang
external format.
|
OtpErlangRef(OtpLocalNode self)
Deprecated.
use OtpLocalNode:createRef() instead
|
OtpErlangRef(java.lang.String node,
int[] ids,
int creation)
Create a new style Erlang ref from its components.
|
OtpErlangRef(java.lang.String node,
int id,
int creation)
Create an old style Erlang ref from its components.
|
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
clone() |
int |
creation()
Get the creation number from the ref.
|
protected int |
doHashCode()
Compute the hashCode value for a given ref.
|
void |
encode(OtpOutputStream buf)
Convert this ref to the equivalent Erlang external representation.
|
boolean |
equals(java.lang.Object o)
Determine if two refs are equal.
|
int |
id()
Get the id number from the ref.
|
int[] |
ids()
Get the array of id numbers from the ref.
|
boolean |
isNewRef()
Determine whether this is a new style ref.
|
java.lang.String |
node()
Get the node name from the ref.
|
protected int |
tag() |
java.lang.String |
toString()
Get the string representation of the ref.
|
bind, decode, hashCode, match
@Deprecated public OtpErlangRef(OtpLocalNode self)
self
- the local node.public OtpErlangRef(OtpInputStream buf) throws OtpErlangDecodeException
buf
- the stream containing the encoded ref.OtpErlangDecodeException
- if the buffer does not contain a valid external
representation of an Erlang ref.public OtpErlangRef(java.lang.String node, int id, int creation)
node
- the nodename.id
- an arbitrary number. Only the low order 18 bits will be used.creation
- another arbitrary number.public OtpErlangRef(java.lang.String node, int[] ids, int creation)
node
- the nodename.ids
- an array of arbitrary numbers. Only the low order 18 bits of
the first number will be used. If the array contains only one
number, an old style ref will be written instead. At most
three numbers will be read from the array.creation
- another arbitrary number. Only the low order 2 bits will be
used.public OtpErlangRef(int tag, java.lang.String node, int[] ids, int creation)
tag
- the external format to be compliant with.
OtpExternal.newRefTag where only a subset of the bits are used (see other constructor)
OtpExternal.newerRefTag where all bits of ids and creation are used.
newerPortTag can only be decoded by OTP-19 and newer.node
- the nodename.ids
- an array of arbitrary numbers. At most three numbers
will be read from the array.creation
- another arbitrary number.protected int tag()
public int id()
public int[] ids()
public boolean isNewRef()
public int creation()
public java.lang.String node()
public java.lang.String toString()
toString
in class OtpErlangObject
public void encode(OtpOutputStream buf)
encode
in class OtpErlangObject
buf
- an output stream to which the encoded ref should be written.public boolean equals(java.lang.Object o)
equals
in class OtpErlangObject
o
- the other ref to compare to.protected int doHashCode()
doHashCode
in class OtpErlangObject
public java.lang.Object clone()
clone
in class OtpErlangObject