NAME
Config::Model::Loader - Load serialized data into config tree
SYNOPSIS
use Config::Model ;
# create your config model
my $model = Config::Model -> new ;
$model->create_config_class( ... ) ;
# create instance
my $inst = $model->instance (root_class_name => 'FooBar',
instance_name => 'test1');
# create root of config
my $root = $inst -> config_root ;
# put some data in config tree
my $step = 'std_id:ab X=Bv - std_id:bc X=Av - a_string="toto tata"';
$root->load( step => $step ) ;
DESCRIPTION
This module is used directly by Config::Model::Node to load serialized configuration data into the configuration tree.
Serialized data can be written by the user or produced by Config::Model::Dumper while dumping data from a configuration tree.
CONSTRUCTOR
new ( )
No parameter. The constructor should be used only by Config::Model::Node.
load string syntax
The string is made of the following items separated by spaces:
- -
-
Go up one node
- !
-
Go to the root node of the configuration tree.
- xxx
-
Go down using
xxx
element. (Fornode
type element) - xxx:yy
-
Go down using
xxx
element and idyy
(Forhash
orlist
element withnode
collected_type) - xxx~yy
-
Delete item referenced by
xxx
element and idyy
- xxx=zz
-
Set element
xxx
to valueyy
. load also accepts to set elements with a quoted string. (Forleaf
element)For instance
foo="a quoted string"
. Note that you cannot embed double quote in this string. I.efoo="a \"quoted\" string"
will fail. - xxx=z1,z2,z3
-
Set list element
xxx
to listz1,z2,z3
. - xxx:yy=zz
-
For
hash
element containingleaf
collected_type. Set the leaf identified by keyyy
to valuezz
.
Methods
load ( ... )
Load data into the node tree (from the node passed with node
) and fill values as we go following the instructions passed with step
. (step
can also be an array ref).
Parameters are:
- node
-
node ref of the root of the tree (of sub-root) to start the load from.
- step
-
A string or an array ref containing the steps to load. See above for a description of the string.
- permission
-
Specify the permission level used during the load (default:
master
). The permission can beintermediate advanced master
. The load will raise an exception if the step of the load string tries to access an element with permission higher than user's permission.
AUTHOR
Dominique Dumont, domi@komarr.grenoble.hp.com