Section Header

    + name := ABSTRACT_DIRECTORY;

    - comment := "Basic Directory management";

Section Inherit

    + parent_entry:ENTRY :=

Section ENTRY

    + list:LINKED_LIST[ENTRY];

Section Public

Update.


    - refresh:BOOLEAN <-

Indexing.


    - lower:INTEGER :=
        Minimum index.

    - upper:INTEGER <-
        Maximum index.

    - valid_index index:INTEGER :BOOLEAN <-
        True when `index' is valid (ie. inside actual
        bounds of the collection).

Counting.


    - count:INTEGER <-
        Number of available indices.

    - is_empty:BOOLEAN <-
        Is collection empty ?

Accessing.


    - item i:INTEGER :ENTRY <-
        Item at the corresponding index `i'.

    - first:ENTRY <-
        The very `first' item.

    - last:ENTRY <-
        The `last' item.

    - has e:ENTRY :BOOLEAN <-

    - index_of e:ENTRY :INTEGER <-

    + parent:ENTRY;

    - this:ENTRY <-

Writing:


    - make_directory n:ABSTRACT_STRING :ENTRY <-

    - make_file n:ABSTRACT_STRING :ENTRY <-

Get new Entry.


    - get new_path:ABSTRACT_STRING :ENTRY <-

Rename


    - no_error:INTEGER :=

    - error_source:INTEGER :=

    - error_destination:INTEGER :=

    - error_extern:INTEGER :=

    - move src:ABSTRACT_STRING with dst:ABSTRACT_STRING :INTEGER <-

    - print <-

Section ENTRY

    - make e:ENTRY :BOOLEAN <-