## com.ericsson.otp.erlang
Class OtpErlangList

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

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

public class OtpErlangList
extends OtpErlangObject
implements java.io.Serializable, java.lang.Cloneable

Provides a Java representation of Erlang lists. Lists are created from zero or more arbitrary Erlang terms.

The arity of the list is the number of elements it contains.

See Also:
  Serialized Form

Constructor Summary
`OtpErlangList()` Create an empty list.
`OtpErlangList(OtpErlangObject elem)` Create a list containing one element.
`OtpErlangList(OtpErlangObject[] elems)` Create a list from an array of arbitrary Erlang terms.
`OtpErlangList(OtpErlangObject[] elems, int start, int count)` Create a list from an array of arbitrary Erlang terms.
`OtpErlangList(OtpInputStream buf)` Create a list from a stream containing an list encoded in Erlang external format.
`OtpErlangList(java.lang.String str)` Create a list of characters.

Method Summary
`int` `arity()` Get the arity of the list.
`java.lang.Object` `clone()`
`OtpErlangObject` `elementAt(int i)` Get the specified element from the list.
`OtpErlangObject[]` `elements()` Get all the elements from the list as an array.
`void` `encode(OtpOutputStream buf)` Convert this list to the equivalent Erlang external representation.
`boolean` `equals(java.lang.Object o)` Determine if two lists are equal.
`java.lang.String` `toString()` Get the string representation of the list.

Methods inherited from class com.ericsson.otp.erlang.OtpErlangObject
`decode`

Methods inherited from class java.lang.Object
`finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### OtpErlangList

    public OtpErlangList()

  Create an empty list.

### OtpErlangList

    public OtpErlangList(java.lang.String str)

  Create a list of characters.
  Parameters:
    `str` - the characters from which to create the list.

### OtpErlangList

    public OtpErlangList(OtpErlangObject elem)

  Create a list containing one element.
  Parameters:
    `elem` - the elememet to make the list from.

### OtpErlangList

    public OtpErlangList(OtpErlangObject[] elems)

  Create a list from an array of arbitrary Erlang terms.
  Parameters:
    `elems` - the array of terms from which to create the list.

### OtpErlangList

    public OtpErlangList(OtpErlangObject[] elems,
                         int start,
                         int count)

  Create a list from an array of arbitrary Erlang terms.
  Parameters:
    `elems` - the array of terms from which to create the list.
    `start` - the offset of the first term to insert.
    `count` - the number of terms to insert.

### OtpErlangList

    public OtpErlangList(OtpInputStream buf)
                  throws OtpErlangDecodeException

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

Method Detail

### arity

    public int arity()

  Get the arity of the list.
  Returns:
    the number of elements contained in the list.

### elementAt

    public OtpErlangObject elementAt(int i)

  Get the specified element from the list.
  Parameters:
    `i` - the index of the requested element. List 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 list as an array.
  Returns:
    an array containing all of the list's elements.

### toString

    public java.lang.String toString()

  Get the string representation of the list.
  Overrides:
    `toString` in class `OtpErlangObject`
  Returns:
    the string representation of the list.

### encode

    public void encode(OtpOutputStream buf)

  Convert this list to the equivalent Erlang external representation. Note that this method never encodes lists as strings, even when it is possible to do so.
  Overrides:
    `encode` in class `OtpErlangObject`
  Parameters:
    `buf` - An output stream to which the encoded list should be written.

### equals

    public boolean equals(java.lang.Object o)

  Determine if two lists are equal. Lists are equal if they have the same arity and all of the elements are equal.
  Overrides:
    `equals` in class `OtpErlangObject`
  Parameters:
    `o` - the list to compare to.
  Returns:
    true if the lists have the same arity and all the elements are equal.

### clone

    public java.lang.Object clone()

  Overrides:
    `clone` in class `OtpErlangObject`