table of contents
Config::Model::ListId(3pm) | User Contributed Perl Documentation | Config::Model::ListId(3pm) |
NAME¶
Config::Model::ListId - Handle list element for configuration model
VERSION¶
version 2.105
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" yields "('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. "insort" yields unpexpected results when called 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 is split to load the array.
For instance
$elt->load_data( data => 'foo,bar', split_reg => qr(,) ) ;
loads " [ '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) 2005-2017 by Dominique Dumont.
This is free software, licensed under:
The GNU Lesser General Public License, Version 2.1, February 1999
2017-06-09 | perl v5.24.1 |