Package com.ericsson.otp.erlang
Class OtpErlangObject
- java.lang.Object
-
- com.ericsson.otp.erlang.OtpErlangObject
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
- Direct Known Subclasses:
OtpErlangAtom
,OtpErlangBitstr
,OtpErlangDouble
,OtpErlangExternalFun
,OtpErlangFun
,OtpErlangList
,OtpErlangLong
,OtpErlangMap
,OtpErlangPid
,OtpErlangPort
,OtpErlangRef
,OtpErlangString
,OtpErlangTuple
public abstract class OtpErlangObject extends java.lang.Object implements java.io.Serializable, java.lang.Cloneable
Base class of the Erlang data type classes. This class is used to represent an arbitrary Erlang term.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
OtpErlangObject.Hash
-
Field Summary
Fields Modifier and Type Field Description protected int
hashCodeValue
-
Constructor Summary
Constructors Constructor Description OtpErlangObject()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description <T> OtpErlangObject
bind(T binds)
Make new Erlang term replacing variables with the respective values from bindings argument(s).java.lang.Object
clone()
static OtpErlangObject
decode(OtpInputStream buf)
Read binary data in the Erlang external format, and produce a corresponding Erlang data type object.protected int
doHashCode()
abstract void
encode(OtpOutputStream buf)
Convert the object according to the rules of the Erlang external format.abstract boolean
equals(java.lang.Object o)
Determine if two Erlang objects are equal.int
hashCode()
<T> boolean
match(OtpErlangObject term, T binds)
Perform match operation against given term.abstract java.lang.String
toString()
-
-
-
Method Detail
-
toString
public abstract java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
- Returns:
- the printable representation of the object. This is usually similar to the representation used by Erlang for the same type of object.
-
encode
public abstract void encode(OtpOutputStream buf)
Convert the object according to the rules of the Erlang external format. This is mainly used for sending Erlang terms in messages, however it can also be used for storing terms to disk.- Parameters:
buf
- an output stream to which the encoded term should be written.
-
decode
public static OtpErlangObject decode(OtpInputStream buf) throws OtpErlangDecodeException
Read binary data in the Erlang external format, and produce a corresponding Erlang data type object. This method is normally used when Erlang terms are received in messages, however it can also be used for reading terms from disk.- Parameters:
buf
- an input stream containing one or more encoded Erlang terms.- Returns:
- an object representing one of the Erlang data types.
- Throws:
OtpErlangDecodeException
- if the stream does not contain a valid representation of an Erlang term.
-
equals
public abstract boolean equals(java.lang.Object o)
Determine if two Erlang objects are equal. In general, Erlang objects are equal if the components they consist of are equal.- Overrides:
equals
in classjava.lang.Object
- Parameters:
o
- the object to compare to.- Returns:
- true if the objects are identical.
-
match
public <T> boolean match(OtpErlangObject term, T binds)
Perform match operation against given term.- Parameters:
term
- the object to matchbinds
- variable bindings- Returns:
- true if match succeeded
-
bind
public <T> OtpErlangObject bind(T binds) throws OtpErlangException
Make new Erlang term replacing variables with the respective values from bindings argument(s).- Parameters:
binds
- variable bindings- Returns:
- new term
- Throws:
OtpErlangException
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
doHashCode
protected int doHashCode()
-
clone
public java.lang.Object clone()
- Overrides:
clone
in classjava.lang.Object
-
-