Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Config::Model::Dumper(User Contributed Perl DocumentatConfig::Model::Dumper(3)

NAME
       Config::Model::Dumper - Serialize data of config	tree

VERSION
       version 2.140

SYNOPSIS
	use Config::Model ;

	# 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('bar')->store('bla	bla') ;
	$root->fetch_element('baz')->fetch_with_id('en')->store('hello') ;

	# put more data	the easy way
	my $steps = 'baz:fr=bonjour baz:hr="dobar dan"';
	$root->load( steps => $steps ) ;

	# dump only customized data
	print $root->dump_tree;

DESCRIPTION
       This module is used directly by Config::Model::Node to serialize
       configuration data in a compact (but readable) string.

       The serialization can be	done in	standard mode where only customized
       values are dumped in the	string.	I.e. only data modified	by the user
       are dumped.

       All other mode supported	by "fetch" in Config::Model::Value can be
       used, for instance, to get default values.

       The serialized string can be used by Config::Model::Loader to store the
       data back into a	configuration tree.

       Note that undefined values are skipped for list element.	I.e. if	a list
       element contains	"('a',undef,'b')", the dump then contains 'a','b'.

CONSTRUCTOR
   new
       No parameter. The constructor should be used only by
       Config::Model::Node.

Methods
   dump_tree
       Return a	string that contains a dump of the object tree with all	the
       values. This string follows the convention defined by
       Config::Model::Loader.

       The serialized string can be used by Config::Model::Loader to store the
       data back into a	configuration tree.

       Parameters are:

       mode
	   "full" dumps	all configuration data including default values.

	   All mode values from	"fetch"	in Config::Model::Value	can be used.

	   By default, the dump	contains only data modified by the user	(i.e.
	   "custom" data that differ from default or preset values).

       node
	   Reference to	the Config::Model::Node	object that is dumped. All
	   nodes and leaves attached to	this node are also dumped.

       skip_auto_write ( <backend_name>	)
	   Skip	node that have a write capability matching "backend_name" in
	   their model.	See Config::Model::BackendMgr.

	   This	option must be used when using Dumper to write back
	   configuration data. When a configuration model contains several
	   backends (one at the	tree root and others in	tree nodes), setting
	   this	option ensure that the "root" configuration file does not
	   contain data	duplicated in configuration file of others tree	nodes.

       auto_vivify
	   Scan	and create data	for nodes elements even	if no actual data was
	   stored in them. This	may be useful to trap missing mandatory
	   values.  (default: 0)

       check
	   Check value before dumping. Valid check are 'yes', 'no' and 'skip'.

AUTHOR
       Dominique Dumont, (ddumont at cpan dot org)

SEE ALSO
       Config::Model,Config::Model::Node,Config::Model::Loader

AUTHOR
       Dominique Dumont

COPYRIGHT AND LICENSE
       This software is	Copyright (c) 2005-2020	by Dominique Dumont.

       This is free software, licensed under:

	 The GNU Lesser	General	Public License,	Version	2.1, February 1999

perl v5.32.0			  2020-08-28	      Config::Model::Dumper(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION | CONSTRUCTOR | Methods | AUTHOR | SEE ALSO | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Config::Model::Dumper&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help