<sect1>
<title>Scripting API for Linked List Backend</title>
<sect2>
<title>Linked List Data Structure</title>
<para>
A list objects holds the information of a data structure of type <quote>Linked List</quote>.
</para>

<sect3>
<title>Properties</title>
<itemizedlist>
    <listitem>
        <para>
        <emphasis>name</emphasis> :
        </para>
        <para>The unique name of this data structure.</para>
    </listitem>
</itemizedlist>
</sect3>


<sect3>
<title>Methods</title>
<variablelist>

    <varlistentry>
    <term>head()</term>
    <listitem>
        <para>Return head node of the list.</para>
    <funcsynopsis><funcprototype>
    <funcdef>ListNode <function>head</function></funcdef>
    <paramdef></paramdef>
    </funcprototype>
    </funcsynopsis>
    </listitem>
    </varlistentry>

    <varlistentry>
    <term>setHead(node)</term>
    <listitem>
        <para>Set the head of the list.</para>
    <funcsynopsis><funcprototype>
    <funcdef>void <function>setHead</function></funcdef>
        <paramdef>ListNode <parameter><replaceable>node</replaceable></parameter></paramdef>
    </funcprototype>
    </funcsynopsis>
    </listitem>
    </varlistentry>

    <varlistentry>
    <term>createNode(type)</term>
    <listitem>
        <para>Create a new node of the specified type and return the created node. If the type is not registered, no node is created.</para>
    <funcsynopsis><funcprototype>
    <funcdef>ListNode <function>createNode</function></funcdef>
        <paramdef>int <parameter><replaceable>type</replaceable></parameter></paramdef>
    </funcprototype>
    </funcsynopsis>
    </listitem>
    </varlistentry>

    <varlistentry>
    <term>createNode()</term>
    <listitem>
        <para>Create a new node of default type and return the created node.</para>
    <funcsynopsis><funcprototype>
    <funcdef>ListNode <function>createNode</function></funcdef>
    <paramdef></paramdef>
    </funcprototype>
    </funcsynopsis>
    </listitem>
    </varlistentry>
</variablelist>
</sect3>
</sect2>


<sect2>
<title>List Node</title>
<para>
A node is the data element of a linked list.
</para>

<sect3>
<title>Properties</title>
<itemizedlist>

    <listitem>
        <para>
        <emphasis>width</emphasis> :
        </para>
        <para>The size of this data element.</para>
    </listitem>

    <listitem>
        <para>
        <emphasis>x</emphasis> :
        </para>
        <para>The x-coordinate of this data element.</para>
    </listitem>

    <listitem>
        <para>
        <emphasis>y</emphasis> :
        </para>
        <para>The y-coordinate of this data element.</para>
    </listitem>

    <listitem>
        <para>
        <emphasis>id</emphasis> :
        </para>
        <para>The unique identifier of this data element.</para>
    </listitem>

    <listitem>
        <para>
        <emphasis>color</emphasis> :
        </para>
        <para>The color of this data element stated as hexadecimal value.</para>
    </listitem>
</itemizedlist>
</sect3>


<sect3>
<title>Methods</title>
<variablelist>
    <varlistentry>
    <term>pointTo(target)</term>
    <listitem>
        <para>Set pointer of this list node to the target node.</para>
    <funcsynopsis><funcprototype>
    <funcdef>void <function>pointTo</function></funcdef>
        <paramdef>ListNode <parameter><replaceable>target</replaceable></parameter></paramdef>
    </funcprototype>
    </funcsynopsis>
    </listitem>
    </varlistentry>
</variablelist>
</sect3>
</sect2>
</sect1>
