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

FreeBSD Manual Pages

  
 
  

home | help
Config::Model::AnnotatUser3Contributed Perl DocumeConfig::Model::Annotation(3)

NAME
       Config::Model::Annotation - Read	and write configuration	annotations

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('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 $steps = 'baz:fr=bonjour#french baz:hr="dobar dan"#croatian';
	$root->load( steps => $steps ) ;

	# dump resulting tree with annotations
	print $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). This module can be used to save annotation
       for configuration files that do not support comments.

       THis module should not be used for configuration	files that support
       comments.

       Depending on the	effective id of	the process, the annotation is saved
       in:

       o   "/var/lib/config-model/<model_name>-note.yml" for root (EUID	== 0)

       o   "~/.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)

CAVEATS
       This module is currently	not used.

AUTHOR
       Dominique Dumont, (ddumont at cpan dot org)

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

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::Annotation(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION | CONSTRUCTOR | METHODS | CAVEATS | 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::Annotation&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help