Package com.ericsson.otp.erlang
Class OtpErlangTuple
java.lang.Object
com.ericsson.otp.erlang.OtpErlangObject
com.ericsson.otp.erlang.OtpErlangTuple
- All Implemented Interfaces:
Serializable
,Cloneable
Provides a Java representation of Erlang tuples. Tuples are created from one
or more arbitrary Erlang terms.
The arity of the tuple is the number of elements it contains. Elements are indexed from 0 to (arity-1) and can be retrieved individually by using the appropriate index.
- See Also:
-
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
ConstructorDescriptionCreate a unary tuple containing the given element.OtpErlangTuple
(OtpErlangObject[] elems) Create a tuple from an array of terms.OtpErlangTuple
(OtpErlangObject[] elems, int start, int count) Create a tuple from an array of terms.Create a tuple from a stream containing an tuple encoded in Erlang external format. -
Method Summary
Modifier and TypeMethodDescriptionint
arity()
Get the arity of the tuple.<T> OtpErlangObject
bind
(T binds) Make new Erlang term replacing variables with the respective values from bindings argument(s).clone()
protected int
elementAt
(int i) Get the specified element from the tuple.elements()
Get all the elements from the tuple as an array.void
encode
(OtpOutputStream buf) Convert this tuple to the equivalent Erlang external representation.boolean
Determine if two tuples are equal.<T> boolean
match
(OtpErlangObject term, T bindings) Perform match operation against given term.toString()
Get the string representation of the tuple.Methods inherited from class com.ericsson.otp.erlang.OtpErlangObject
decode, hashCode
-
Constructor Details
-
OtpErlangTuple
Create a unary tuple containing the given element.- Parameters:
elem
- the element to create the tuple from.- Throws:
IllegalArgumentException
- if the element is null.
-
OtpErlangTuple
Create a tuple from an array of terms.- Parameters:
elems
- the array of terms to create the tuple from.- Throws:
IllegalArgumentException
- if the array is empty (null) or contains null elements.
-
OtpErlangTuple
Create a tuple from an array of terms.- Parameters:
elems
- the array of terms to create the tuple from.start
- the offset of the first term to insert.count
- the number of terms to insert.- Throws:
IllegalArgumentException
- if the array is empty (null) or contains null elements.
-
OtpErlangTuple
Create a tuple from a stream containing an tuple encoded in Erlang external format.- Parameters:
buf
- the stream containing the encoded tuple.- Throws:
OtpErlangDecodeException
- if the buffer does not contain a valid external representation of an Erlang tuple.
-
-
Method Details
-
arity
public int arity()Get the arity of the tuple.- Returns:
- the number of elements contained in the tuple.
-
elementAt
Get the specified element from the tuple.- Parameters:
i
- the index of the requested element. Tuple elements are numbered as array elements, starting at 0.- Returns:
- the requested element, of null if i is not a valid element index.
-
elements
Get all the elements from the tuple as an array.- Returns:
- an array containing all of the tuple's elements.
-
toString
Get the string representation of the tuple.- Specified by:
toString
in classOtpErlangObject
- Returns:
- the string representation of the tuple.
-
encode
Convert this tuple to the equivalent Erlang external representation.- Specified by:
encode
in classOtpErlangObject
- Parameters:
buf
- an output stream to which the encoded tuple should be written.
-
equals
Determine if two tuples are equal. Tuples are equal if they have the same arity and all of the elements are equal.- Specified by:
equals
in classOtpErlangObject
- Parameters:
o
- the tuple to compare to.- Returns:
- true if the tuples have the same arity and all the elements are equal.
-
match
Description copied from class:OtpErlangObject
Perform match operation against given term.- Overrides:
match
in classOtpErlangObject
- Parameters:
term
- the object to matchbindings
- variable bindings- Returns:
- true if match succeeded
-
bind
Description copied from class:OtpErlangObject
Make new Erlang term replacing variables with the respective values from bindings argument(s).- Overrides:
bind
in classOtpErlangObject
- Parameters:
binds
- variable bindings- Returns:
- new term
- Throws:
OtpErlangException
-
doHashCode
protected int doHashCode()- Overrides:
doHashCode
in classOtpErlangObject
-
clone
- Overrides:
clone
in classOtpErlangObject
-