GEAS::ObjectList
================

General Notes:
--------------


Parents:
--------
None


Attributes:
-----------

Name       : length
Type       : unsigned long
Description: The number of entries in the list.

Name       : objects
Type       : objectslist
Description: An array of references to all DataObject instances stored in
             the list

Name       : classname
Type       : string
Description: The name of the class stored in this list.


Methods:
--------

Name:
    getEntry

Synopsis:
    DataObject getEntry( in unsigned long index );

Description:
    Obtain a reference to a particular entry in the list.

Arguments:
    index - The index of the item to obtain. Indexes start from 0, and the
            last index is 'length - 1'. (ie: a 10 item list has items at
	    index 0 through 9 inclusive.

Result:
    A reference to a DataObject instance

Exceptions:
    OutOfBounds : Raised if the argument is equal to or greater than
                  the length of the list.

Example:

See Also:


Name:
    appendObject

Synopsis:
    void appendObject( in DataObject obj )

Description:
    Add an object at the end of the list, and increase the list length.

Arguments:
    obj - A reference to a DataObject instance.

Result:
    None

Exceptions:
    WrongClass : A list may only contain objects of the same type (including
                 derived types). This is raised if an object of a wrong type
		 is inserted.

Example:

See Also:


Name:
    removeEntry

Synopsis:
    void removeEntry( in unsigned long index )

Description:
    Remove an arbitrary object from the list. This does not delete the
object from the database. The list length is decremented.

Arguments:
    index : The index of the entry to remove

Result:
    None

Exceptions:
    OutOfBounds : Raised if the argument is equal to or greater than
                  the length of the list.
    ServerError : Raised if any other error prevents the operation

Example:

See Also:


Name:
    resort

Synopsis:
    void resort( in string fieldname , in boolean ascending )

Description:
    Not yet implemented.

    The intention is to allow a list to be resorted on the server side.

Arguments:
    fieldname : The field to sort on
    ascending : TRUE if the sort should be in ascending order otherwise
                FALSE

Result:
    None

Exceptions:
    UnknownField : Raised if the field is not present in the class stored in
                   the list.

Example:

See Also:


Name:
    release

Synopsis:
    void release();

Description:
    This method frees server side resources associated with the list. In the
future, it should become unnecessary, but for the time being, clients must
call this method.

Arguments:
    None

Result:
    None

Exceptions:
    None

Example:

See Also:
