Provided by: libconfig-model-itself-perl_2.003-1_all bug

NAME

       Config::Model::Itself::BackendDetector - Detect available read/write backends usable by
       config models

VERSION

       version 2.003

SYNOPSIS

        # this class should be referenced in a configuration model and
        # created only by Config::Model::Node

        my $model = Config::Model->new() ;

        $model ->create_config_class
         (
          name => "Test",
          'element'
          => [
              'backend' => { type => 'leaf',
                             class => 'Config::Model::Itself::BackendDetector' ,
                             value_type => 'enum',
                             # specify backends built in Config::Model
                             choice => [qw/cds_file perl_file ini_file custom/],

                             help => {
                                      cds_file => "file ...",
                                      ini_file => "Ini file ...",
                                      perl_file => "file  perl",
                                      custom => "Custom format",
                                     }
                           }
             ],
         );

         my $root = $model->instance(root_class_name => 'Test') -> config_root ;

         my $backend = $root->fetch_element('backend') ;

         my @choices = $backend->get_choice ;

DESCRIPTION

       This class is derived from Config::Model::Value. It is designed to be used in a 'enum'
       value where the choice (the available backends) are the backend built in Config::Model and
       all the plugin backends. The plugin backends are all the "Config::Model::Backend::*"
       classes.

       This module will detect available plugin backend and query their pod documentation to
       provide a contextual help for config-model graphical editor.

SEE ALSO

       Config::Model, Config::Model::Node, Config::Model::Value

AUTHOR

       Dominique Dumont

COPYRIGHT AND LICENSE

       This software is Copyright (c) 2016 by Dominique Dumont.

       This is free software, licensed under:

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