.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Config::Model::AnyThing 3pm" .TH Config::Model::AnyThing 3pm "2023-08-19" "perl v5.36.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Config::Model::AnyThing \- Base class for configuration tree item .SH "VERSION" .IX Header "VERSION" version 2.153 .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& # internal class .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This class must be inherited by all nodes or leaves of the configuration tree. .PP AnyThing provides some methods and no constructor. .SH "Introspection methods" .IX Header "Introspection methods" .SS "element_name" .IX Subsection "element_name" Returns the element name that contain this object. .SS "index_value" .IX Subsection "index_value" For object stored in an array or hash element, returns the index (or key) containing this object. .SS "parent" .IX Subsection "parent" Returns the node containing this object. May return undef if \f(CW\*(C`parent\*(C'\fR is called on the root of the tree. .SS "container" .IX Subsection "container" A bit like parent, this method returns the element containing this object. See \*(L"container_type\*(R" .SS "container_type" .IX Subsection "container_type" Returns the type (e.g. \f(CW\*(C`list\*(C'\fR or \f(CW\*(C`hash\*(C'\fR or \f(CW\*(C`leaf\*(C'\fR or \f(CW\*(C`node\*(C'\fR or \&\f(CW\*(C`warped_node\*(C'\fR) of the element containing this object. .SS "root" .IX Subsection "root" Returns the root node of the configuration tree. .SS "location" .IX Subsection "location" Returns the node location in the configuration tree. This location conforms with the syntax defined by grab method. .SS "location_short" .IX Subsection "location_short" Returns the node location in the configuration tree. This location truncates long indexes to be readable. It cannot be used by grab method. .SS "composite_name" .IX Subsection "composite_name" Return the element name with its index (if any). I.e. returns \f(CW\*(C`foo:bar\*(C'\fR or \&\f(CW\*(C`foo\*(C'\fR. .SS "composite_name_short" .IX Subsection "composite_name_short" Return the element name with its index (if any). Too long indexes are truncated to be readable. .SH "Annotation" .IX Header "Annotation" Annotation is a way to store miscellaneous information associated to each node. (Yeah... comments). Reading and writing annotation makes sense only if they can be read from and written to the configuration file, hence the need for the following method: .SS "backend_support_annotation" .IX Subsection "backend_support_annotation" Returns 1 if at least one of the backends attached to a parent node support to read and write annotations (aka comments) in the configuration file. .SS "support_annotation" .IX Subsection "support_annotation" Returns 1 if at least one of the backends support to read and write annotations (aka comments) in the configuration file. .SS "annotation" .IX Subsection "annotation" Parameters: \f(CW\*(C`( [ note1, [ note2 , ... ] ] )\*(C'\fR .PP Without argument, return a string containing the object's annotation (or an empty string). .PP With several arguments, join the arguments with \*(L"\en\*(R", store the annotations and return the resulting string. .SS "load_pod_annotation" .IX Subsection "load_pod_annotation" Parameters: \f(CW\*(C`( pod_string )\*(C'\fR .PP Load annotations in configuration tree from a pod document. The pod must be in the form: .PP .Vb 1 \& =over \& \& =item path \& \& Annotation text \& \& =back .Ve .SS "clear_annotation" .IX Subsection "clear_annotation" Clear the annotation of an element .SH "Information management" .IX Header "Information management" .SS "notify_change" .IX Subsection "notify_change" Notify the instance of semantic changes. Parameters are: .IP "old" 8 .IX Item "old" old value. (optional) .IP "new" 8 .IX Item "new" new value (optional) .IP "path" 8 .IX Item "path" Location of the changed parameter starting from root node. Default to \f(CW\*(C`$self\-\*(C'\fRlocation>. .IP "name" 8 .IX Item "name" element name. Default to \f(CW\*(C`$self\-\*(C'\fRelement_name> .IP "index" 8 .IX Item "index" If the changed parameter is part of a hash or an array, \f(CW\*(C`index\*(C'\fR contains the key or the index to get the changed parameter. .IP "note" 8 .IX Item "note" information about the change. Mandatory when neither old or new value are defined. .IP "really" 8 .IX Item "really" When set to 1, force recording of change even if in initial load phase. .IP "needs_save" 8 .IX Item "needs_save" internal parameter. .SS "show_message" .IX Subsection "show_message" Parameters: \f(CW\*(C`( string )\*(C'\fR .PP Forwarded to \*(L"show_message\*(R" in Config::Model::Instance. .SS "root_path" .IX Subsection "root_path" Forwarded to \*(L"root_path\*(R" in Config::Model::Instance. .SS "model_searcher" .IX Subsection "model_searcher" Returns an object dedicated to search an element in the configuration model. .PP This method returns a Config::Model::SearchElement object. See Config::Model::Searcher for details on how to handle a search. .SS "dump_as_data" .IX Subsection "dump_as_data" Dumps the configuration data of the node and its siblings into a perl data structure. .PP Returns a hash ref containing the data. See Config::Model::DumpAsData for details. .SS "warp_error" .IX Subsection "warp_error" Returns a string describing any issue with Config::Model::Warper object. Returns '' if invoked on a tree object without warp specification. .SH "AUTHOR" .IX Header "AUTHOR" Dominique Dumont, (ddumont at cpan dot org) .SH "SEE ALSO" .IX Header "SEE ALSO" Config::Model, Config::Model::Instance, Config::Model::Node, Config::Model::Loader, Config::Model::Dumper .SH "AUTHOR" .IX Header "AUTHOR" Dominique Dumont .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" This software is Copyright (c) 2005\-2022 by Dominique Dumont. .PP This is free software, licensed under: .PP .Vb 1 \& The GNU Lesser General Public License, Version 2.1, February 1999 .Ve