NAME
Config::Model::ListId - Handle list element for configuration model
VERSION
version 2.154
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
Parameters: (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
Parameters: ( from_index, to_index, [ check => 'no' )
Move an element within the list. check
can be 'yes' 'no' 'skip'
push
Parameters: ( value1, [ value2 ... ] )
push some values at the end of the list.
push_x
Parameters: ( 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
Parameters: ( value1, [ value2 ... ] )
unshift some values at the end of the list.
insert_at
Parameters: ( idx, value1, [ value2 ... ] )
unshift some values at index idx in the list.
insert_before
Parameters: ( ( val | qr/stuff/ ) , value1, [ value2 ... ] )
unshift some values before value equal to val
or before value matching stuff
.
insort
Parameters: ( 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
orskip
- 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
Parameters: ( ida , idb )
Swap 2 elements within the array
remove
Parameters: ( idx )
Remove an element from the list. Equivalent to splice @list,$idx,1
load_data
Parameters: ( 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
sort_algorithm
Returns a sub used to sort the list elements. See "sort" in perlfunc. Used only for list of leaves. This method can be overridden to alter sort order.
get_info
Returns a list of information related to the list. See "get_info" in Config::Model::Value for more details.
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-2022 by Dominique Dumont.
This is free software, licensed under:
The GNU Lesser General Public License, Version 2.1, February 1999