+
Point of view
All features
deferred class REPOSITORY_IMPL [O_ -> STORABLE]
Summary
Class invariant
Overview
features
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:
Really storing data:
  • update
    Update the repository objects.
  • commit
    Commit all the repository objects to the physical store.
  • is_connected: BOOLEAN
    True if the repository is connected to a physical store.
  • is_updateable: BOOLEAN
    True if the repository can be updated from data in the physical store.
  • is_commitable: BOOLEAN
    True if the repository can be committed to the underlying physical store.
Implementation
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
last_line: INTEGER_32
deferred function
last_column: INTEGER_32
deferred function
do_update (in_stream: INPUT_STREAM)
deferred 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
start_write (out_stream: OUTPUT_STREAM)
deferred procedure
end_write (out_stream: OUTPUT_STREAM)
deferred 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_reference (reference: STRING, name: STRING, out_stream: OUTPUT_STREAM)
deferred procedure
write_layout (layout: INTERNALS, out_stream: OUTPUT_STREAM)
effective procedure
start_layout (ref: STRING, type: STRING, out_stream: OUTPUT_STREAM)
deferred procedure
end_layout (out_stream: OUTPUT_STREAM)
deferred 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_character_layout_object (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
deferred procedure
write_boolean_layout_object (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
deferred procedure
write_integer_8_layout_object (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
deferred procedure
write_integer_16_layout_object (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
deferred procedure
write_integer_32_layout_object (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
deferred procedure
write_integer_64_layout_object (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
deferred procedure
write_integer_layout_object (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
deferred procedure
write_real_32_layout_object (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
deferred procedure
write_real_64_layout_object (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
deferred procedure
write_real_80_layout_object (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
deferred procedure
write_real_128_layout_object (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
deferred procedure
write_real_layout_object (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
deferred procedure
write_real_expanded_layout_object (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
deferred procedure
write_array_layout_object (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
deferred procedure
write_embedded_layout_object (internals: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
effective procedure
start_embedded_layout (layout: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
deferred procedure
end_embedded_layout (layout: INTERNALS, name: STRING, out_stream: OUTPUT_STREAM)
deferred 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).
update
deferred procedure
Update the repository objects.
commit
deferred procedure
Commit all the repository objects to the physical store.
is_connected: BOOLEAN
deferred function
True if the repository is connected to a physical store.
is_updateable: BOOLEAN
deferred function
True if the repository can be updated from data in the physical store.
is_commitable: BOOLEAN
deferred function
True if the repository can be committed to the underlying physical store.
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