NAME
Config::Model::Annotation - Read and write configuration annotations
VERSION
version 2.031
SYNOPSIS
use
Config::Model ;
Log::Log4perl->easy_init(
$WARN
);
# define configuration tree object
my
$model
= Config::Model->new ;
$model
->create_config_class (
name
=>
"MyClass"
,
element
=> [
[
qw/foo bar/
] => {
type
=>
'leaf'
,
value_type
=>
'string'
},
baz
=> {
type
=>
'hash'
,
index_type
=>
'string'
,
cargo
=> {
type
=>
'leaf'
,
value_type
=>
'string'
,
},
},
],
) ;
my
$inst
=
$model
->instance(
root_class_name
=>
'MyClass'
);
my
$root
=
$inst
->config_root ;
# put some data in config tree the hard way
$root
->fetch_element(
'foo'
)->store(
'yada'
) ;
$root
->fetch_element(
'baz'
)->fetch_with_id(
'en'
)->store(
'hello'
) ;
# put annotation the hard way
$root
->fetch_element(
'foo'
)->annotation(
'english'
) ;
$root
->fetch_element(
'baz'
)->fetch_with_id(
'en'
)->annotation(
'also english'
) ;
# put more data the easy way
my
$step
=
'baz:fr=bonjour#french baz:hr="dobar dan"#croatian'
;
$root
->load(
step
=>
$step
) ;
# dump resulting tree with annotations
$root
->dump_tree;
# save annotations
my
$annotate_saver
= Config::Model::Annotation
-> new (
config_class_name
=>
'MyClass'
,
instance
=>
$inst
,
root_dir
=>
'/tmp/'
,
# for test
) ;
$annotate_saver
->save ;
# now check content of /tmp/config-model/MyClass-note.pl
DESCRIPTION
This module provides an object that read and write annotations (a bit like comments) to and from a configuration tree and save them in a file (not configuration file)
Depending on the effective id of the process, the annotation will be saved in:
/var/lib/config-model/<model_name>-note.yml
for root (EUID == 0)~/.config-model/<model_name>-note.yml
for normal user (EUID > 0)
CONSTRUCTOR
Quite standard. The constructor is passed a Config::Model::Instance object.
METHODS
save()
Save annotations in a file (See DESCRIPTION)
load()
Loads annotations from a file (See DESCRIPTION)
AUTHOR
Dominique Dumont, (ddumont at cpan dot org)
SEE ALSO
Config::Model, Config::Model::Node, Config::Model::Loader, Config::Model::Searcher, Config::Model::Value,