indexing
description: "Directories, in the Unix sense, with creation and exploration features"
status: "See notice at end of class"
date: "$Date$"
revision: "$Revision$"
class interface
DIRECTORY
create
make (dn: STRING)
dn
require
string_exists: dn /= void
make_open_read (dn: STRING)
dn
require
string_exists: dn /= void
feature
create_dir
require
physical_not_exists: not exists
make (dn: STRING)
dn
require
string_exists: dn /= void
make_open_read (dn: STRING)
dn
require
string_exists: dn /= void
feature
change_name (new_name: STRING)
new_name
require
not_new_name_void: new_name /= void
file_exists: exists
ensure
name_changed: name.is_equal (new_name)
close
require
is_open: not is_closed
has_entry (entry_name: STRING): BOOLEAN
entry_name
dir_temp
require
string_exists: entry_name /= void
name: STRING
open_read
name
readentry
lastentry
require
is_opened: not is_closed
start
require
is_opened: not is_closed
feature
count: INTEGER
require
directory_exists: exists
feature
exists: BOOLEAN
is_closed: BOOLEAN
is_empty: BOOLEAN
require
directory_exists: exists
is_executable: BOOLEAN
require
directory_exists: exists
is_readable: BOOLEAN
require
directory_exists: exists
is_writable: BOOLEAN
require
directory_exists: exists
lastentry: STRING
readentry
feature
delete
require
directory_exists: exists
empty_directory: is_empty
delete_content
require
directory_exists: exists
delete_content_with_action (action: PROCEDURE [ANY, TUPLE]; is_cancel_requested: FUNCTION [ANY, TUPLE, BOOLEAN]; file_number: INTEGER)
actionfile_number
action
is_cancel_requested
True
is_cancel_requested
require
directory_exists: exists
valid_file_number: file_number > 0
dispose
recursive_delete
require
directory_exists: exists
recursive_delete_with_action (action: PROCEDURE [ANY, TUPLE]; is_cancel_requested: FUNCTION [ANY, TUPLE, BOOLEAN]; file_number: INTEGER)
actionfile_number
require
directory_exists: exists
feature
linear_representation: ARRAYED_LIST [STRING]
invariant
ANY
reflexive_equality: standard_is_equal (Current)
reflexive_conformance: conforms_to (Current)
indexing
library: "[
EiffelBase: Library of reusable components for Eiffel.
]"
status: "[
Copyright 1986-2001 Interactive Software Engineering (ISE).
For ISE customers the original versions are an ISE product
covered by the ISE Eiffel license and support agreements.
]"
license: "[
EiffelBase may now be used by anyone as FREE SOFTWARE to
develop any product, public-domain or commercial, without
payment to ISE, under the terms of the ISE Free Eiffel Library
License (IFELL) at http://eiffel.com/products/base/license.html.
]"
source: "[
Interactive Software Engineering Inc.
ISE Building
360 Storke Road, Goleta, CA 93117 USA
Telephone 805-685-1006, Fax 805-685-6869
Electronic mail <info@eiffel.com>
Customer support http://support.eiffel.com
]"
info: "[
For latest info see award-winning pages: http://eiffel.com
]"
end -- DIRECTORY