Difference between revisions of "ConfigurationParserLibrary"
(→Retrieval and Storage) |
|||
Line 33: | Line 33: | ||
else | else | ||
system := l_loader.last_system | system := l_loader.last_system | ||
+ | end | ||
+ | end | ||
+ | </code> | ||
+ | Storing a configuration to a file. | ||
+ | <code>[eiffel,n] | ||
+ | store_configuration (a_system: CONF_SYSTEM) is | ||
+ | -- Store `a_system' to its configuration file. | ||
+ | require | ||
+ | a_system_ok: a_system /= Void | ||
+ | do | ||
+ | a_system.store | ||
+ | if not a_system.store_successful then | ||
+ | display_error ("Could not store system in " + a_system.file_name) | ||
end | end | ||
end | end | ||
</code> | </code> |
Revision as of 13:27, 30 October 2006
Contents
General
The basic layout of a configuration system is a system that has multiple targets (which may inherit from each other), every target can have some libraries, assemblies override clusters and normal clusters. Clusters can have sub clusters.
CONF_SYSTEM
Every configuration file describes one CONF_SYSTEM and has one or more CONF_TARGET associated. Normally a CONF_SYSTEM object is generated by parsing a configuration file with CONF_LOAD.
Implementation
CONF_TARGET
CONF_LIBRARY
CONF_ASSEMBLY
CONF_CLUSTER
CONF_OVERRIDE
Retrieval and Storage
Loading a configuration from a file.
load_configuration (a_file: STRING) is -- Load configuration file `a_file'. require a_file_ok: a_file /= Void and then not a_file.is_empty local l_loader: CONF_LOAD do create l_loader.make (create {CONF_PARSE_FACTORY}) l_loader.retrieve_configuration (a_file) if l_loader.is_error then display_error (l_loader.last_error) else system := l_loader.last_system end end
Storing a configuration to a file.
store_configuration (a_system: CONF_SYSTEM) is -- Store `a_system' to its configuration file. require a_system_ok: a_system /= Void do a_system.store if not a_system.store_successful then display_error ("Could not store system in " + a_system.file_name) end end