Banner showing base of Eiffel tower

Github

Download version 1.4.8: Windows or Linux

Base Library: Class Reflection

This library cluster has 106 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/runtime/reflection

. /class

. /data-types

. /dynamic_creation

. /enumeration

. /escaped

. /fields

. /fields/expanded

. /fields/expanded/numeric

. /fields/reference

. /fields/reference/date-time

. /fields/reference/makeable

. /fields/reference/string

. /fields/reference/string/member

. /helper

. /representation

. /routine

. /settable

. /shared

. /table

class

EL_CLASS_META_DATA

Class reflective meta data

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_I

Basic interface to reflective object useful in parallel inheritance

EL_STORABLE_CLASS_META_DATA

Reflective meta data for classes that inherit EL_REFLECTIVELY_SETTABLE_STORABLE

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.

dynamic_creation

EL_CLASS_SET_FACTORY

Factory to create class instances conforming to parameter G and contained in set of types defined by TYPE_SET parameter, and also including the default type DEFAULT.

Further Information

Click on class link to see notes.

EL_FACTORY_CLIENT

Allows descendants access to initialization agents for EL_OBJECT_FACTORY

Further Information

Click on class link to see client examples.

EL_MAKEABLE_CELL

A factory cell to create objects conforming to EL_MAKEABLE

EL_MAKEABLE_OBJECT_FACTORY

Factory to create objects conforming to EL_MAKEABLE

Further Information

Click on class link to see notes and client examples.

EL_OBJECT_FACTORY

Factory for instances of Eiffel classes conforming to parameter G

Tuple arguments act as type manifests with each type A, B, C.. conforming to G. A contract ensures all types conform. Typically you would create the tuple like this:

Types: TUPLE [A, B, C ..]
   once
      create Result
   end

Further Information

Click on class link to see client examples.

EL_REFLECTED_FIELD_FACTORY

Reflected field factory

EL_SHARED_MAKEABLE_FACTORY

Shared access to factory of objects conforming to EL_MAKEABLE

Further Information

Click on class link to see client examples.

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

escaped

EL_ESCAPED_STRING_32_FIELD_VALUE_TABLE

Implementation of EL_FIELD_VALUE_TABLE that escapes the value of STRING_32 field attribute types.

EL_ESCAPED_STRING_8_FIELD_VALUE_TABLE

Implementation of EL_FIELD_VALUE_TABLE that escapes the value of STRING_8 field attribute types.

EL_ESCAPED_STRING_GENERAL_FIELD_VALUE_TABLE

Implementation of EL_FIELD_VALUE_TABLE that escapes the value of field attribute string.

Further Information

Click on class link to see descendants.

EL_ESCAPED_ZSTRING_FIELD_VALUE_TABLE

Implementation of EL_FIELD_VALUE_TABLE that escapes the value of EL_ZSTRING field attribute types.

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_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

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

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_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

EL_REFLECTED_TIME

Reflected field of type TIME

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_STRING

Reflected field that conforms to 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.

fields/reference/string/member

EL_REFLECTED_MEMBER_STRING

Reflected field that conforms to STRING_GENERAL and is a member of an associated set.

EL_REFLECTED_MEMBER_STRING_32

Reflected field of type STRING_32 with values that are members of an associated set of type EL_HASH_SET [STRING_32]

EL_REFLECTED_MEMBER_STRING_8

Reflected field of type STRING_8 with values that are members of an associated set of type EL_HASH_SET [STRING_8]

EL_REFLECTED_MEMBER_ZSTRING

Reflected field of type EL_ZSTRING with values that are members of an associated set of type EL_HASH_SET [ZSTRING]

helper

EL_COLLECTION_TYPE

Reflection information for type conforming to COLLECTION [G]

EL_FIELD_INDICES_SET

Sorted set of field indices for reflected object

EL_INTERNAL

Internal reflection routines accessible via EL_MODULE_EIFFEL

Further Information

Click on class link to see notes.

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_MODULE_NAMING

Shared access to routines of class EL_NAMING_ROUTINES

Further Information

Click on class link to see client examples.

EL_NAMING_ROUTINES

Object with attribute names that are translateable TO and FROM another naming convention There are also routines to derive a name from the class generator name.

Accessible from shared object_or_type Naming in class EL_MODULE_NAMING

Further Information

Click on class link to see tests and client examples.

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_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.

EL_WORD_SEPARATION_ADAPTER

Adapt Eiffel identifiers to other word separation conventions and vice-versa

Further Information

Click on class link to see client examples.

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_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

EL_STRING_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. See representation attribute in class EL_REFLECTED_EXPANDED_FIELD [G] and new_representations function in class EL_REFLECTIVE

EL_TIME_REPRESENTATION

A reflected INTEGER_32 representing a TIME

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

EL_ROUTINE_INFO_FACTORY

Routine info factory

Further Information

Click on class link to see client examples.

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_REFLECTIVE_COMMAND_LINE_CONFIG

Reflective command line config

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_REFLECTION_CONSTANTS

Type constants for object reflection

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_FIELD_VALUE_TABLE

Table that can be filled with fields values from an object implementing class EL_REFLECTIVE using the fill_field_value_table procedure. The type of fields that can be filled is specified by generic paramter G. An optional condition predicated can be set that filters the table content according to the value of the field.

EL_FUNCTIONS_BY_RESULT_TYPE

Functions by result type

EL_INTEGER_FIELD_VALUE_TABLE

Implementation of EL_FIELD_VALUE_TABLE for the INTEGER_32 type

EL_OBJECTS_BY_TYPE

Lookup objects by type_id

EL_REFERENCE_FIELD_VALUE_TABLE

Implementation of EL_FIELD_VALUE_TABLE for reference field attribute types

EL_REFLECTED_COLLECTION_TYPE_TABLE

Reflected COLLECTION [G] type table where G is a string convertable basic type using class EL_STRING_CONVERSION_TABLE

EL_REFLECTED_FIELD_TABLE

Reflected field table

Further Information

Click on class link to see client examples.

EL_REFLECTED_REFERENCE_TYPE_TABLE

Table of reflected reference fields for types conforming to BASE_TYPE and indexed by type_id

EL_REFLECTED_STORABLE_REFERENCE_TYPE_TABLE

Reflected storable reference type table