class XML_REPOSITORY_LAYOUT

All features

Direct parents

non-conformant parents

INTERNALS_HANDLER

Summary

creation features

exported features

Details

make

ensure

  • is_clear

type: STRING
capacity: INTEGER

for native arrays only

ref: STRING
name: STRING
value: STRING
layouts: DICTIONARY [V_, K_][XML_REPOSITORY_LAYOUTSTRING]
solve (a_solver: FUNCTION [O_ -> TUPLE, R_][TUPLE 1 [A_][STRING]INTERNALS]): INTERNALS
internals (a_solver: FUNCTION [O_ -> TUPLE, R_][TUPLE 1 [A_][STRING]INTERNALS]): INTERNALS

a_value is used for expanded attributes to directly set the object

ensure

  • Result /= Void

node: STRING

The XML node. I don't want to create 20 classes for such a simple thing.

is_clear: BOOLEAN
clear

ensure

  • is_clear

set (a_node: STRING)

require

  • is_clear

ensure

  • not is_clear
  • node.is_equal(a_node)

set_type (a_type: STRING)

require

  • not is_clear
  • type = Void
  • a_type /= Void

ensure

  • type.is_equal(a_type)

set_capacity (a_capacity: INTEGER)

ensure

  • capacity = a_capacity

set_ref (a_ref: STRING)

require

  • not is_clear
  • ref = Void
  • a_ref /= Void

ensure

  • ref.is_equal(a_ref)

set_name (a_name: STRING)

require

  • not is_clear
  • name = Void
  • a_name /= Void

ensure

  • name.is_equal(a_name)

set_value (a_value: STRING)

require

  • not is_clear
  • value = Void
  • a_value /= Void

ensure

  • value.is_equal(a_value)

add_layout (a_layout: XML_REPOSITORY_LAYOUT)

require

  • not is_clear
  • a_layout.name /= Void

ensure

  • layouts.at(a_layout.name) = a_layout

make

ensure

  • is_clear

node_memory: STRING
type_memory: STRING
ref_memory: STRING
name_memory: STRING
value_memory: STRING
valid_generating_type_for_internals (type: STRING): BOOLEAN

require

  • type /= Void

ensure

  • Result implies not type.has_prefix(once "NATIVE_ARRAY")

internals_from_generating_type (type: STRING): INTERNALS

require

  • valid_generating_type_for_internals(type)

ensure

  • Result /= Void
  • Result.object_can_be_modified

valid_generating_type_for_native_array_internals (type: STRING): BOOLEAN

require

  • type /= Void

ensure

  • Result implies type.has_prefix(once "NATIVE_ARRAY")

native_array_internals_from_generating_type (type: STRING, capacity: INTEGER): INTERNALS

require

  • valid_generating_type_for_native_array_internals(type)

ensure

  • Result /= Void
  • Result.object_can_be_modified