Banner showing base of Eiffel tower

Github

Download version 1.4.8: Windows or Linux

Base Library: Class Reflection

This library cluster has 99 classes.

ECF: base.ecf

Source code: directory list

Building on the basic ISE reflection mechanisms, this cluster makes possible a very flexible way of exchanging data between Eiffel objects and any structured plaintext format, and also a binary memory block conforming to EL_MEMORY_READER_WRITER (inherits SED_MEMORY_READER_WRITER)

Key Features

EL_REFLECTED_FIELD*
   EL_REFLECTED_REFERENCE [G]
      EL_REFLECTED_STORABLE
      EL_REFLECTED_TUPLE
      EL_REFLECTED_BOOLEAN_REF
      EL_REFLECTED_DATE
      EL_REFLECTED_TIME
      EL_REFLECTED_DATE_TIME
      EL_REFLECTED_PATH
      EL_REFLECTED_MAKEABLE_FROM_STRING* [MAKEABLE -> EL_MAKEABLE_FROM_STRING [STRING_GENERAL]]
         EL_REFLECTED_MAKEABLE_FROM_ZSTRING
         EL_REFLECTED_MAKEABLE_FROM_STRING_8
         EL_REFLECTED_MAKEABLE_FROM_STRING_32
      EL_REFLECTED_EIF_OBJ_BUILDER_CONTEXT
      EL_REFLECTED_COLLECTION_EIF_OBJ_BUILDER_CONTEXT
      EL_REFLECTED_COLLECTION [G]
      EL_REFLECTED_STRING* [S -> STRING_GENERAL]
         EL_REFLECTED_ZSTRING
            EL_REFLECTED_MEMBER_ZSTRING
         EL_REFLECTED_STRING_8
            EL_REFLECTED_MEMBER_STRING_8
         EL_REFLECTED_STRING_32
            EL_REFLECTED_MEMBER_STRING_32
         EL_REFLECTED_URI
         EL_REFLECTED_MEMBER_STRING* [S -> STRING_GENERAL]
            EL_REFLECTED_MEMBER_ZSTRING
            EL_REFLECTED_MEMBER_STRING_8
            EL_REFLECTED_MEMBER_STRING_32
   EL_REFLECTED_EXPANDED_FIELD* [G]
      EL_REFLECTED_BOOLEAN
      EL_REFLECTED_CHARACTER_32
      EL_REFLECTED_POINTER
      EL_REFLECTED_CHARACTER_8
      EL_REFLECTED_NUMERIC_FIELD* [N -> NUMERIC]
         EL_REFLECTED_REAL_32
         EL_REFLECTED_INTEGER_32
         EL_REFLECTED_INTEGER_8
         EL_REFLECTED_INTEGER_16
         EL_REFLECTED_INTEGER_64
         EL_REFLECTED_NATURAL_8
         EL_REFLECTED_NATURAL_16
         EL_REFLECTED_NATURAL_32
         EL_REFLECTED_NATURAL_64
         EL_REFLECTED_REAL_64

Directory: library/base/kernel/reflection

. /class

. /data-types

. /enumeration

. /factory

. /fields

. /fields/expanded

. /fields/expanded/numeric

. /fields/reference

. /fields/reference/date-time

. /fields/reference/makeable

. /fields/reference/string

. /helper

. /representation

. /routine

. /settable

. /shared

. /table

class

EL_CLASS_META_DATA

Class reflective meta data

Further Information

Click on class link to see descendants.

EL_CLASS_TYPE_ID_ENUM

Common class type identifiers accesible via EL_SHARED_CLASS_ID

EL_REFLECTIVE

Stateless class with reflective routines

Further Information

Click on class link to see notes, descendants and client examples.

EL_REFLECTIVE_FIELD_ORDER

Implementation of field ordering and shifting for EL_REFLECTIVE

EL_REFLECTIVE_I

Basic interface to reflective object useful in parallel inheritance

EL_REFLECTIVE_STRING_CONSTANTS

Fields conforming to READABLE_STRING_8 are initialized from the attribute name

Further Information

Click on class link to see client examples.

data-types

EL_ENUMERATION_VALUE

Wrapper object for enumeration value defined by a class inheriting from EL_ENUMERATION. An instance of an implemention class can be initialized by a name string either matching the enumeration name or imported from a foreign naming convention.

It is especially useful as a field attribute in a class inheriting EL_REFLECTIVE.

EL_REFLECTIVE_BOOLEAN_REF

Binary state object that can be associated with a descriptive name pair. on or off for example.

Further Information

Click on class link to see notes and tests.

enumeration

EL_BOOLEAN_ENUMERATION

Enumeration with two values representing True and False. The values can be renamed in descendant

Examples:

confirmed/unconfirmed
yes/no
etc..

EL_DESCRIPTIVE_ENUMERATION

Enumeration with added descriptions parsed from text field descriptions See class EL_REFLECTIVE_DESCRIPTIONS

Further Information

Click on class link to see client examples.

EL_ENUMERATION

Object for mapping names to code numbers with bi-directional lookups, i.e. obtain the code from a name and the name from a code. The generic parameter can be any NUMERIC type.

Further Information

Click on class link to see notes, instructions, descendants and client examples.

EL_TYPE_ID_ENUMERATION

Enumeration of type ids by correspondence of fields names to type names. Example: EL_CLASS_TYPE_ID_ENUM

factory

EL_INITIALIZED_FIELD_FACTORY

Factory to create initialized instances of objects conforming to EL_REFLECTED_FIELD

EL_MAKEABLE_READER_WRITER_FACTORY

Factory for objects of type EL_MAKEABLE_READER_WRITER [EL_MAKEABLE]

EL_REFLECTED_COLLECTION_FACTORY

Factory for objects of type EL_REFLECTED_COLLECTION [G]

Further Information

Click on class link to see client examples.

EL_REFLECTED_FIELD_FACTORY

Reflected field factory

EL_REFLECTIVELY_SETTABLE_FACTORY

Factory for objects of type EL_REFLECTIVELY_SETTABLE

EL_ROUTINE_INFO_FACTORY

Routine info factory

Further Information

Click on class link to see client examples.

fields

EL_REFLECTED_FIELD

Manages attribute field for a class

Further Information

Click on class link to see descendants and client examples.

EL_REFLECTED_FIELD_LIST

Array of reflected fields for a class

fields/expanded

EL_REFLECTED_BOOLEAN

Reflected BOOLEAN field

EL_REFLECTED_CHARACTER_32

Reflected CHARACTER_32 field

EL_REFLECTED_CHARACTER_8

Reflected CHARACTER_8 field

EL_REFLECTED_EXPANDED_FIELD

Base class for reflected fields of common expanded types

Further Information

Click on class link to see descendants.

EL_REFLECTED_POINTER

Reflected POINTER field

fields/expanded/numeric

EL_REFLECTED_INTEGER_16

Reflected INTEGER_16 field

EL_REFLECTED_INTEGER_32

Reflected INTEGER_32 field

EL_REFLECTED_INTEGER_64

Reflected INTEGER_64 field

EL_REFLECTED_INTEGER_8

Reflected INTEGER_8 field

EL_REFLECTED_INTEGER_FIELD

Field with type name pattern: NATURAL_* or INTEGER_*

Further Information

Click on class link to see client examples.

EL_REFLECTED_NATURAL_16

Reflected NATURAL_16 field

EL_REFLECTED_NATURAL_32

Reflected NATURAL_32 field

EL_REFLECTED_NATURAL_64

Reflected NATURAL_64 field

EL_REFLECTED_NATURAL_8

Reflected NATURAL_8 field

EL_REFLECTED_NUMERIC_FIELD

Field conforming to NUMERIC

Further Information

Click on class link to see client examples.

EL_REFLECTED_REAL_32

Reflected REAL_32 field

Further Information

Click on class link to see client examples.

EL_REFLECTED_REAL_64

Reflected REAL_64 field

fields/reference

EL_REFLECTED_BOOLEAN_REF

Reflected field conforming to BOOLEAN_REF

Further Information

Click on class link to see tests.

EL_REFLECTED_COLLECTION

Reflected field conforming to COLLECTION

Further Information

Click on class link to see client examples.

EL_REFLECTED_HASHABLE_REFERENCE

Reflected reference field conforming to HASHABLE with the possibility to eliminate duplicate values by looking up values in a EL_HASH_SET object.

Further Information

Click on class link to see descendants.

EL_REFLECTED_MANAGED_POINTER

Reflected field of type MANAGED_POINTER

EL_REFLECTED_PATH

Reflected field conforming to type EL_PATH

EL_REFLECTED_REFERENCE

Reflected reference field conforming to parameter G

Further Information

Click on class link to see descendants.

EL_REFLECTED_REFERENCE_ANY

Default reflected reference field

EL_REFLECTED_STORABLE

Reflected field conforming to type EL_STORABLE

EL_REFLECTED_TUPLE

Reflected field conforming to type TUPLE

fields/reference/date-time

EL_REFLECTED_DATE

Reflected field conforming to DATE

EL_REFLECTED_DATE_TIME

Reflected field conforming to DATE_TIME

Further Information

Click on class link to see client examples.

EL_REFLECTED_TEMPORAL

Reflected field conforming to temporal object ABSOLUTE

EL_REFLECTED_TIME

Reflected field of type TIME

Further Information

Click on class link to see client examples.

fields/reference/makeable

EL_REFLECTED_MAKEABLE_FROM_STRING

Field that conforms to type EL_REFLECTED_REFERENCE [EL_MAKEABLE_FROM_STRING_GENERAL]

EL_REFLECTED_MAKEABLE_FROM_STRING_32

Reflected makeable from string 32

EL_REFLECTED_MAKEABLE_FROM_STRING_8

Reflected makeable from string 8

EL_REFLECTED_MAKEABLE_FROM_ZSTRING

Reflected makeable from zstring

fields/reference/string

EL_REFLECTED_IMMUTABLE_STRING_32

Reflected field of type IMMUTABLE_STRING_32

EL_REFLECTED_IMMUTABLE_STRING_8

Reflected field of type IMMUTABLE_STRING_8

EL_REFLECTED_STRING

Reflected field that conforms to READABLE_STRING_GENERAL

EL_REFLECTED_STRING_32

Reflected field of type STRING_32

EL_REFLECTED_STRING_8

Reflected field of type STRING_8

EL_REFLECTED_URI

Reflected uri

EL_REFLECTED_ZSTRING

Reflected field of type EL_ZSTRING

Further Information

Click on class link to see client examples.

helper

EL_FIELD_INDICES_SET

Sorted set of field indices for reflected object

EL_FIELD_TYPE_QUERY_ROUTINES

Field type query routines

EL_INTERNAL

Internal reflection routines accessible via EL_MODULE_EIFFEL

Further Information

Click on class link to see notes and client examples.

EL_REFLECTED_REFERENCE_LIST

List of uninitialized EL_REFLECTED_REFERENCE fields for type query purposes

EL_REFLECTED_REFERENCE_OBJECT

Reflected reference object

EL_REFLECTION_HANDLER

Access control for features of class EL_REFLECTIVE

Further Information

Click on class link to see client examples.

EL_REFLECTIVE_DESCRIPTIONS

Object to map textual descriptions in description to attributes

Further Information

Click on class link to see notes.

EL_SHARED_CODE_REPRESENTATIONS

Shared instances of EL_CODE_16_REPRESENTATION, EL_CODE_32_REPRESENTATION and EL_CODE_64_REPRESENTATION

EL_STRING_REPRESENTABLE_FIELD

Reflected field can be associated with a string representation type G, for example an INTEGER_32 field can be associated with a DATE type.

representation

EL_BOOLEAN_REPRESENTATION

A reflected BOOLEAN field representing set of two strings conforming to READABLE_STRING_GENERAL

Further Information

Click on class link to see client examples.

EL_CODE_16_REPRESENTATION

2 byte implementation of EL_CODE_REPRESENTATION

EL_CODE_32_REPRESENTATION

4 byte implementation of EL_CODE_REPRESENTATION

EL_CODE_64_REPRESENTATION

8 byte implementation of EL_CODE_REPRESENTATION

EL_CODE_REPRESENTATION

Fixed length alpha-numeric 8-bit codes stored in one of:

1. NATURAL_16 (2 byte code string)
2. NATURAL_32 (4 byte code string)
3. NATURAL_64 (8 byte code string)

Further Information

Click on class link to see descendants and client examples.

EL_DATE_REPRESENTATION

A reflected INTEGER_32 representing a DATE

EL_DATE_TIME_REPRESENTATION

A reflected INTEGER_32 representing a EL_DATE_TIME

Further Information

Click on class link to see client examples.

EL_ENUMERATION_REPRESENTATION

A reflected type N conforming to NUMERIC representing a EL_ENUMERATION [N]]

Further Information

Click on class link to see client examples.

EL_FIELD_REPRESENTATION

A field value G that represents an item of type H

EL_HASH_SET_REPRESENTATION

Reflected field representation that links a field to a set of values

EL_STRING_FIELD_REPRESENTATION

A field value G that represents an item of type H capable of conversion to and from a string conforming to READABLE_STRING_GENERAL.

Further Information

Click on class link to see notes.

EL_TIME_REPRESENTATION

A reflected INTEGER_32 representing a TIME

EL_VERSION_REPRESENTATION

A reflected NATURAL_32 representing a EL_VERSION_ARRAY

routine

EL_FUNCTION_INFO

Function info

Further Information

Click on class link to see client examples.

EL_PROCEDURE_INFO

Procedure info

EL_ROUTINE_INFO

Routine info

settable

EL_REFLECTIVELY_SETTABLE

Object with field_table attribute of field getter-setter's. See class EL_REFLECTED_FIELD_TABLE

Further Information

Click on class link to see notes, tests, descendants and client examples.

EL_SETTABLE_FROM_STRING

Used in conjunction with EL_REFLECTIVELY_SETTABLE to reflectively set fields from name-value pairs, where value conforms to READABLE_STRING_GENERAL.

Further Information

Click on class link to see descendants and client examples.

EL_SETTABLE_FROM_STRING_32

Used in conjunction with EL_REFLECTIVE to reflectively set fields from name-value pairs, where value conforms to STRING_32.

Further Information

Click on class link to see client examples.

EL_SETTABLE_FROM_STRING_8

Used in conjunction with EL_REFLECTIVE to reflectively set fields from name-value pairs, where value conforms to STRING_8.

EL_SETTABLE_FROM_ZSTRING

Used in conjunction with EL_REFLECTIVE to reflectively set fields from name-value pairs, where value conforms to EL_ZSTRING (aka ZSTRING)

Further Information

Click on class link to see tests and client examples.

shared

EL_MODULE_EIFFEL

Shared access to routines of class EL_INTERNAL and ISE base class INTERNAL

Further Information

Click on class link to see client examples.

EL_REFLECTION_CONSTANTS

Type constants for object reflection

Further Information

Click on class link to see client examples.

EL_SHARED_CLASS_ID

Shared instance of class EL_CLASS_TYPE_ID_ENUM

EL_SHARED_NEW_INSTANCE_TABLE

Shared access to table of object creation functions to initialize reference attributes reflectively. See class EL_REFLECTED_REFERENCE.

You can indirectly add to this table by overriding new_instance_functions from class EL_REFLECTIVE.

EL_SHARED_OBJECT_POOL

Shared object pool

EL_SHARED_READER_WRITER_TABLE

Shared reader writer table

table

EL_FUNCTIONS_BY_RESULT_TYPE

Functions by result type

EL_REFLECTED_FIELD_TABLE

Reflected field table

Further Information

Click on class link to see client examples.