Config::Model::HashId.3pm

Langue: en

Autres versions - même langue

Version: 2010-06-11 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

Config::Model::HashId - Handle hash element for configuration model

VERSION

version 1.205

SYNOPSIS

  $model ->create_config_class 
   (
    ...
    element 
    => [ 
        bounded_hash 
        => { type => 'hash',
             index_type  => 'integer',
             min_index => 1, 
             max_index => 123, 
             max_nb => 2 ,
             cargo_type => 'leaf',
             cargo_args => {value_type => 'string'},
           },
       ]
   ) ;
 
 

DESCRIPTION

This class provides hash elements for a Config::Model::Node.

The hash index can either be en enumerated type, a boolean, an integer or a string.

CONSTRUCTOR

HashId object should not be created directly.

Hash model declaration

See model declaration section from Config::Model::AnyId.

Methods

get_type

Returns "hash".

fetch_size

Returns the nb of elements of the hash.

firstkey

Returns the first key of the hash. Behaves like "each" core perl function.

nextkey

Returns the next key of the hash. Behaves like "each" core perl function.

swap ( key1 , key2 )

Swap the order of the 2 keys. Ignored for non ordered hash.

move ( key1 , key2 )

Rename key1 in key2.

move_after ( key_to_move [ , after_this_key ] )

Move the first key after the second one. If the second parameter is omitted, the first key is placed in first position. Ignored for non ordered hash.

move_up ( key )

Move the key up in a ordered hash. Attempt to move up the first key of an ordered hash will be ignored. Ignored for non ordered hash.

move_down ( key )

Move the key down in a ordered hash. Attempt to move up the last key of an ordered hash will be ignored. Ignored for non ordered hash.

load_data ( hash_ref | array_ref)

Load check_list as a hash ref for standard hash.

Ordered hash should be loaded with an array ref or with a hash containing a special "__order" element. E.g. loaded with either:

   [ a => 'foo', b => 'bar' ]
 
 

or

   { __order => ['a','b'], b => 'bar', a => 'foo' }
 
 

AUTHOR

Dominique Dumont, (ddumont at cpan dot org)

SEE ALSO

Config::Model, Config::Model::Instance, Config::Model::AnyId, Config::Model::ListId, Config::Model::Value