NAME
Config::Model::ListId - Handle list element for configuration model
VERSION
version 2.137
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.
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-2019 by Dominique Dumont.
This is free software, licensed under:
The GNU Lesser General Public License, Version 2.1, February 1999