indexing
description: "Directories, in the Unix sense, with creation and exploration features"
legal: "See notice at end of class."
status: "See notice at end of class."
date: "$Date: 2006-01-22 18:25:44 -0800 (Sun, 22 Jan 2006) $"
revision: "$Revision: 56675 $"
class interface
DIRECTORY
create
make (dn: STRING_8)
`dn'
require
string_exists: dn /= Void
make_open_read (dn: STRING_8)
`dn'
require
string_exists: dn /= Void
feature
create_dir
require
physical_not_exists: not exists
make (dn: STRING_8)
`dn'
require
string_exists: dn /= Void
make_open_read (dn: STRING_8)
`dn'
require
string_exists: dn /= Void
feature
change_name (new_name: STRING_8)
`new_name'
require
new_name_not_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_8): BOOLEAN
`entry_name'
`dir_temp'
require
string_exists: entry_name /= Void
name: STRING_8
open_read
name
readentry
lastentry
require
is_opened: not is_closed
start
require
is_opened: not is_closed
feature
count: INTEGER_32
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_8
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_32)
`action'`file_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_32)
`action'`file_number'
require
directory_exists: exists
feature
linear_representation: ARRAYED_LIST [STRING_8]
invariant
ANY
reflexive_equality: standard_is_equal (Current)
reflexive_conformance: conforms_to (Current)
indexing
library: "EiffelBase: Library of reusable components for Eiffel."
copyright: "Copyright (c) 1984-2006, Eiffel Software and others"
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
source: "[
Eiffel Software
356 Storke Road, Goleta, CA 93117 USA
Telephone 805-685-1006, Fax 805-685-6869
Website http://www.eiffel.com
Customer support http://support.eiffel.com
]"
end DIRECTORY