com.ericsson.otp.erlang
Class OtpErlangTuple

java.lang.Object
  |
  +--com.ericsson.otp.erlang.OtpErlangObject
        |
        +--com.ericsson.otp.erlang.OtpErlangTuple

public class OtpErlangTuple
extends OtpErlangObject

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.


Constructor Summary
OtpErlangTuple(OtpErlangObject elem)
          Create a unary tuple containing the given element.
OtpErlangTuple(OtpErlangObject[] elems)
          Create a tuple from an array of terms.
OtpErlangTuple(OtpInputStream buf)
          Create a tuple from a stream containing an tuple encoded in Erlang external format.
 
Method Summary
 int arity()
          Get the arity of the tuple.
 OtpErlangObject elementAt(int i)
          Get the specified element from the tuple.
 OtpErlangObject[] 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 equals(java.lang.Object o)
          Determine if two tuples are equal.
 boolean equals(OtpErlangTuple t)
          Determine if two tuples are equal.
 java.lang.String toString()
          Get the string representation of the tuple.
 
Methods inherited from class com.ericsson.otp.erlang.OtpErlangObject
decode
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

OtpErlangTuple

public OtpErlangTuple(OtpErlangObject elem)
               throws OtpErlangDataException
Create a unary tuple containing the given element.
Parameters:
elem - the element to create the tuple from.
Throws:
OtpErlangDataException - if the array is empty (null).

OtpErlangTuple

public OtpErlangTuple(OtpErlangObject[] elems)
               throws OtpErlangDataException
Create a tuple from an array of terms.
Parameters:
elems - the array of terms to create the tuple from.
Throws:
OtpErlangDataException - if the array is empty (null).

OtpErlangTuple

public OtpErlangTuple(OtpInputStream buf)
               throws OtpErlangDecodeException
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 Detail

arity

public int arity()
Get the arity of the tuple.
Returns:
the number of elements contained in the tuple.

elementAt

public OtpErlangObject elementAt(int i)
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

public OtpErlangObject[] elements()
Get all the elements from the tuple as an array.
Returns:
an array containing all of the tuple's elements.

toString

public java.lang.String toString()
Get the string representation of the tuple.
Overrides:
toString in class OtpErlangObject
Returns:
the string representation of the tuple.

encode

public void encode(OtpOutputStream buf)
Convert this tuple to the equivalent Erlang external representation.
Overrides:
encode in class OtpErlangObject
Parameters:
buf - an output stream to which the encoded tuple should be written.

equals

public boolean equals(java.lang.Object o)
Determine if two tuples are equal. Tuples are equal if they have the same arity and all of the elements are equal.
Overrides:
equals in class OtpErlangObject
Parameters:
o - the object to compare to.
Returns:
true if o is a tuple and the tuples contain the same elements, false otherwise.

equals

public boolean equals(OtpErlangTuple t)
Determine if two tuples are equal. Tuples are equal if they have the same arity and all of the elements are equal.
Parameters:
t - the tuple to compare to.
Returns:
true if the tuples have the same arity and all the elements are equal.