Dominique Dumont > Config-Model-2.055 > Config::Model::ListId

Download:
Config-Model-2.055.tar.gz

Dependencies

Annotate this POD

Website

CPAN RT

Open  1
View/Report Bugs
Module Version: 2.055   Source   Latest Release: Config-Model-2.064

NAME ^

Config::Model::ListId - Handle list element for configuration model

VERSION ^

version 2.055

SYNOPSIS ^

See "SYNOPSIS" in Config::Model::AnyId

DESCRIPTION ^

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

CONSTRUCTOR ^

ListId object should not be created directly.

List model declaration ^

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

Methods ^

get_type

Returns list.

fetch_size

Returns the number of elements of the list.

load(string, [ check => 'no' ] )

Store a set of values passed as a comma separated list of values. Values can be quoted strings. (i.e "a,a",b will yield ('a,a', 'b') list).

check can be yes, no or skip

store_set( ... )

Store a set of values (passed as list)

If tinkering with check is required, use the following way :

 store_set ( \@v , check => 'skip' );

move ( from_index, to_index, [ check => 'no' )

Move an element within the list. check can be 'yes' 'no' 'skip'

push( value1, [ value2 ... ] )

push some values at the end of the list.

push_x ( values => [ v1','v2', ...] , ... )

Like push with extended options. Options are:

check

Check value validaty. Either yes (default), no, skip

values

Values to push (array_ref)

value

Single value to push

annotation

unshift( value1, [ value2 ... ] )

unshift some values at the end of the list.

insert_at( idx, value1, [ value2 ... ] )

unshift some values at index idx in the list.

insert_before( ( val | qr/stuff/ ) , value1, [ value2 ... ] )

unshift some values before value equal to val or before value matching stuff.

insort( value1, [ value2 ... ] )

Insert zz value on xxx list so that existing alphanumeric order is preserved. Will yield unpexpected results if call on an unsorted list.

store

Equivalent to push_x. This method is provided to help write configuration parser, so the call is the same when dealing with leaf or list values. Prefer push_x when practical.

check

yes, no or skip

annotation

list ref of annotation to store with the list values

Example:

 $elt->push_x (
    values => [ 'v1','v2' ] ,
    annotation => [ 'v1 comment', 'v2 comment' ],
    check => 'skip'
 );

sort()

Sort the content of the list. Can only be called on list of leaf.

swap ( ida , idb )

Swap 2 elements within the array

remove ( idx )

Remove an element from the list. Equivalent to splice @list,$idx,1

load_data ( data => ( ref | scalar ) [, check => ... ] [ , split_reg => $re ] )

Clear and load list from data contained in the data array ref. If a scalar or a hash ref is passed, the list is cleared and the data is stored in the first element of the list. If split_reg is specified, the scalar will be split to load the array.

For instance

   $elt->load_data( data => 'foo,bar', split_reg => qr(,) ) ;

will load [ 'foo','bar'] in $elt

AUTHOR ^

Dominique Dumont, (ddumont at cpan dot org)

SEE ALSO ^

Config::Model::Model, Config::Model::Instance, Config::Model::AnyId, Config::Model::HashId, Config::Model::Value

AUTHOR ^

Dominique Dumont

COPYRIGHT AND LICENSE ^

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

This is free software, licensed under:

  The GNU Lesser General Public License, Version 2.1, February 1999
syntax highlighting: