+
Point of view
All features
class XML_FILE_REPOSITORY [O_ -> STORABLE]
Summary
Class invariant
Overview
creation features
  • connect_to (a_filename: STRING)
    Connect to a repository with streams as physical store.
features
Updating and committing
  • commit
    Commit all the repository objects to the physical store.
  • is_commitable: BOOLEAN
    True if the repository can be committed to the underlying physical store.
  • update
    Update the repository objects.
  • is_updateable: BOOLEAN
    True if the repository can be updated from data in the physical store.
  • is_connected: BOOLEAN
    True if the repository is connected to a physical store.
Creation
Implementation of update
Implementation of commit
Internals
Error handling on repository update
Implementation of update
Implementation of commit
Internals
Creation
  • make
    Create a not-connected empty repository.
Getting and setting objects in the repository:
  • has (object_name: STRING): BOOLEAN
    Is object_name the name of some stored object.
  • at (object_name: STRING): O_
    Return the object currently associated to object_name.
  • add (object: O_, object_name: STRING)
    Update or add a new object in the Current repository.
  • put (object: O_, object_name: STRING)
    Update or add a new object in the Current repository.
  • remove (object_name: STRING)
    Remove entry object_name from the Current repository.
Counting:
Iterating facilities:
Implementation
commit
effective procedure
Commit all the repository objects to the physical store.
is_commitable: BOOLEAN
effective function
True if the repository can be committed to the underlying physical store.
update
effective procedure
Update the repository objects.
is_updateable: BOOLEAN
effective function
True if the repository can be updated from data in the physical store.
is_connected: BOOLEAN
effective function
True if the repository is connected to a physical store.
connect_to (a_filename: STRING)
effective procedure
Connect to a repository with streams as physical store.
filename: STRING
writable attribute
update_stream: TEXT_FILE_READ
writable attribute
commit_stream: TEXT_FILE_WRITE
writable attribute
commitable_tester: TEXT_FILE_WRITE
once function
update_name: STRING
constant attribute
update_ref: STRING
constant attribute
update_type: STRING
constant attribute
update_value: STRING
constant attribute
update_capacity: STRING
constant attribute
update_version: STRING
constant attribute
once function
do_update (in_stream: INPUT_STREAM)
effective procedure
last_line: INTEGER_32
effective function
last_column: INTEGER_32
effective function
open_nodes: FAST_ARRAY[STRING]
once function
with_attribute (attribute_name: STRING, attribute_value: STRING, line: INTEGER_32, column: INTEGER_32)
effective procedure
Called by the parser to add an attribute of a node BEFORE calling open_node
open_node (node_name: STRING, line: INTEGER_32, column: INTEGER_32)
effective procedure
When the parser reads an opening node
close_node (node_name: STRING, line: INTEGER_32, column: INTEGER_32)
effective procedure
When the parser reads a closing node
open_close_node (node_name: STRING, line: INTEGER_32, column: INTEGER_32)
effective procedure
When the parser reads a node that opens and closes immediately (syntax "<node/>")
current_node: STRING
effective function
The current node
xml_header (line: INTEGER_32, column: INTEGER_32)
effective procedure
Called by the parser if a "<?xml ... ?>"
processing_instruction (a_target: STRING, a_data: STRING)
effective procedure
Called by the parser if a "<?...?>"
entity (a_entity: STRING, line: INTEGER_32, column: INTEGER_32): STRING
effective function
Called by the parser when an &entity; is found.
data (a_data: STRING, line: INTEGER_32, column: INTEGER_32)
effective procedure
Called by the parser when the node contains raw data
parse_error (line: INTEGER_32, column: INTEGER_32, message: STRING)
effective procedure
Called by the parser if there is an error
at_error: BOOLEAN
writable attribute
True if there was at least an error
start_write (out_stream: OUTPUT_STREAM)
effective procedure
end_write (out_stream: OUTPUT_STREAM)
effective procedure
write_reference (reference: STRING, name: STRING, out_stream: OUTPUT_STREAM)
effective procedure
start_layout (ref: STRING, type: STRING, out_stream: OUTPUT_STREAM)
effective procedure
end_layout (out_stream: OUTPUT_STREAM)
effective procedure
write_character_layout_object (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
effective procedure
write_boolean_layout_object (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
effective procedure
write_integer_8_layout_object (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
effective procedure
write_integer_16_layout_object (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
effective procedure
write_integer_32_layout_object (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
effective procedure
write_integer_64_layout_object (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
effective procedure
write_integer_layout_object (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
effective procedure
write_real_32_layout_object (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
effective procedure
write_real_64_layout_object (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
effective procedure
write_real_80_layout_object (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
effective procedure
write_real_128_layout_object (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
effective procedure
write_real_layout_object (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
effective procedure
write_real_expanded_layout_object (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
effective procedure
write_array_layout_object (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
effective procedure
start_embedded_layout (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
effective procedure
end_embedded_layout (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
effective procedure
version: STRING
frozen
constant attribute
clear_attributes
effective procedure
set_validator (a_validator: XML_VALIDATOR)
effective procedure
Sets a validator for this XML file.
validator: XML_VALIDATOR
writable attribute
The XML validator for this file (DTD, XML Schema...)
register_update_error_handler (a_error_handler: PROCEDURE[TUPLE 3[INTEGER_32, INTEGER_32, STRING]])
effective procedure
writable attribute
fire_update_error (line: INTEGER_32, column: INTEGER_32, message: STRING)
effective procedure
solve_again: BOOLEAN
writable attribute
update_layouts: STACK[REPOSITORY_LAYOUT]
once function
updated_internals: HASHED_DICTIONARY[INTERNALS, STRING]
once function
once function
once function
solve (ref: STRING): INTERNALS
effective function
once function
read_from_stream (in_stream: INPUT_STREAM)
effective procedure
update_from_stream (in_stream: INPUT_STREAM)
effective procedure
record_object (ref: STRING, name: STRING, line: INTEGER_32, column: INTEGER_32)
effective procedure
Register the object as a high-level one, i.e.
check_data (a_data: STRING, data_type: STRING, line: INTEGER_32, column: INTEGER_32)
effective procedure
open_repository (a_repository: REPOSITORY_LAYOUT, line: INTEGER_32, column: INTEGER_32)
effective procedure
open_layout (a_type: STRING, a_ref: STRING, a_layout: REPOSITORY_LAYOUT, line: INTEGER_32, column: INTEGER_32)
effective procedure
open_reference (a_name: STRING, a_ref: STRING, a_reference: REPOSITORY_LAYOUT, line: INTEGER_32, column: INTEGER_32)
effective procedure
open_embedded (a_name: STRING, a_type: STRING, a_embedded: REPOSITORY_LAYOUT, line: INTEGER_32, column: INTEGER_32)
effective procedure
open_basic (a_name: STRING, a_type: STRING, a_value: STRING, a_basic: REPOSITORY_LAYOUT, line: INTEGER_32, column: INTEGER_32)
effective procedure
open_array (a_name: STRING, a_type: STRING, a_capacity: INTEGER_32, a_array: REPOSITORY_LAYOUT, line: INTEGER_32, column: INTEGER_32)
effective procedure
close_repository (line: INTEGER_32, column: INTEGER_32)
effective procedure
close_layout (line: INTEGER_32, column: INTEGER_32)
effective procedure
close_reference (line: INTEGER_32, column: INTEGER_32)
effective procedure
close_embedded (line: INTEGER_32, column: INTEGER_32)
effective procedure
close_basic (line: INTEGER_32, column: INTEGER_32)
effective procedure
close_array (line: INTEGER_32, column: INTEGER_32)
effective procedure
commit_map: SET[POINTER]
once function
Used when committing object not to commit them twice
write_to_stream (out_stream: OUTPUT_STREAM)
effective procedure
write_object (name: STRING, object: O_, out_stream: OUTPUT_STREAM)
effective procedure
write_reference_layout (reference: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
effective procedure
write_layout (layout: INTERNALS, out_stream: OUTPUT_STREAM)
effective procedure
write_contents (layout: INTERNALS, out_stream: OUTPUT_STREAM)
effective procedure
write_array_fields_layouts (array: INTERNALS, out_stream: OUTPUT_STREAM)
effective procedure
write_expanded (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
effective procedure
write_embedded_layout_object (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
effective procedure
once function
new_layout (a_kind: STRING): REPOSITORY_LAYOUT
effective function
release_layout (a_layout: REPOSITORY_LAYOUT)
effective procedure
once function
writable attribute
make
effective procedure
Create a not-connected empty repository.
has (object_name: STRING): BOOLEAN
frozen
effective function
Is object_name the name of some stored object.
at (object_name: STRING): O_
frozen
effective function
Return the object currently associated to object_name.
add (object: O_, object_name: STRING)
frozen
effective procedure
Update or add a new object in the Current repository.
put (object: O_, object_name: STRING)
frozen
effective procedure
Update or add a new object in the Current repository.
remove (object_name: STRING)
effective procedure
Remove entry object_name from the Current repository.
count: INTEGER_32
effective function
Actual count of stored elements.
is_empty: BOOLEAN
effective function
Is it empty ?
lower: INTEGER_32
constant attribute
upper: INTEGER_32
effective function
valid_index (index: INTEGER_32): BOOLEAN
effective function
item (index: INTEGER_32): O_
effective function
key (index: INTEGER_32): STRING
effective function
get_new_iterator_on_items: ITERATOR[O_]
effective function
get_new_iterator_on_keys: ITERATOR[STRING]
effective function
key_map_in (buffer: COLLECTION[STRING])
effective procedure
Append in buffer, all available keys (this may be useful to speed up the traversal).
item_map_in (buffer: COLLECTION[O_])
effective procedure
Append in buffer, all available items (this may be useful to speed up the traversal).
repository: HASHED_DICTIONARY[O_, STRING]
writable attribute
objects_are_expanded: BOOLEAN
effective function
valid_generating_type_for_internals (type: STRING): BOOLEAN
internals_from_generating_type (type: STRING): INTERNALS
valid_generating_type_for_native_array_internals (type: STRING): BOOLEAN
native_array_internals_from_generating_type (type: STRING, capacity: INTEGER_32): INTERNALS