Dominique Dumont > Config-Model > Config::Model::AnyThing

Download:
Config-Model-2.054.tar.gz

Dependencies

Annotate this POD

Website

CPAN RT

Open  0
View/Report Bugs
Module Version: 2.054   Source  

NAME ^

Config::Model::AnyThing - Base class for configuration tree item

VERSION ^

version 2.054

SYNOPSIS ^

 # internal class

DESCRIPTION ^

This class must be inherited by all nodes or leaves of the configuration tree.

AnyThing provides some methods and no constructor.

Introspection methods ^

element_name()

Returns the element name that contain this object.

index_value()

For object stored in an array or hash element, returns the index (or key) containing this object.

parent()

Returns the node containing this object. May return undef if parent() is called on the root of the tree.

container_type()

Returns the type (e.g. list or hash or leaf or node or warped_node) of the element containing this object.

root()

Returns the root node of the configuration tree.

location()

Returns the node location in the configuration tree. This location conforms with the syntax defined by "grab()" method.

composite_name

Return the element name with its index (if any). I.e. returns foo:bar or foo.

Annotation ^

Annotation is a way to store miscellaneous information associated to each node. (Yeah... comments) These comments will be saved outside of the configuration file and restored the next time the command is run.

annotation( [ note1, [ note2 , ... ] ] )

Without argument, return a string containing the object's annotation (or an empty string).

With several arguments, join the arguments with "\n", store the annotations and return the resulting string.

load_pod_annotation ( pod_string )

Load annotations in configuration tree from a pod document. The pod must be in the form:

 =over
 
 =item path
 
 Annotation text
 
 =back

clear_annotation

Clear the annotation of an element

Information management ^

grab(...)

Grab an object from the configuration tree.

Parameters are:

step

A string indicating the steps to follow in the tree to find the required item. (mandatory)

mode

When set to strict, grab will throw an exception if no object is found using the passed string. When set to adaptative, the object found at last will be returned. For instance, for the step good_step wrong_step, only the object held by good_step will be returned. When set to loose, grab will return undef in case of problem. (default is strict)

type

Either node, leaf, hash or list. Returns only an object of requested type. Depending on strict value, grab will either throw an exception or return the last found object of requested type. (optional, default to undef, which means any type of object)

autoadd

When set to 1, hash or list configuration element are created when requested by the passed steps. (default is 1).

grab_non_available

When set to 1, grab will return an object even if this one is not available. I.e. even if this element was warped out. (default is 0).

The step parameters is made of the following items separated by spaces:

-

Go up one node

!

Go to the root node.

!Foo

Go up the configuration tree until the Foo configuration class is found. Raise an exception if no Foo class is found when root node is reached.

xxx

Go down using xxx element.

xxx:yy

Go down using xxx element and id yy (valid for hash or list elements)

?xxx

Go up the tree until a node containing element xxx is found. Then go down the tree like item xxx.

If ?xxx:yy, go up the tree the same way. But no check is done to see if id yy actually exists or not. Only the element xxx is considered when going up the tree.

grab_value(...)

Like "grab(...)", but will return the value of a leaf or check_list object, not just the leaf object.

Will raise an exception if following the steps ends on anything but a leaf or a check_list.

grab_annotation(...)

Like "grab(...)", but will return the annotation of an object.

grab_root()

Returns the root of the configuration tree.

grab_ancestor( Foo )

Go up the configuration tree until the Foo configuration class is found. Returns the found node or undef.

notify_change(...)

Notify the instance of semantic changes. Parameters are:

old

old value.

new

new value

path

Location of the changed parameter starting from root node. Default to $self-location>.

name

element name. Default to $self-element_name>

index

If the changed parameter is part of a hash or an array, index contains the key or the index to get the changed parameter.

msg

change message. When not empty, old and new values are not shown.

note

note displayed along the changed values (or message)

really

When set to 1, force recording of change even if in initial load phase.

needs_save

internal parameter.

model_searcher ()

Returns an object dedicated to search an element in the configuration model (respecting privilege level).

This method returns a Config::Model::SearchElement object. See Config::Model::Searcher for details on how to handle a search.

dump_as_data ( )

Dumps the configuration data of the node and its siblings into a perl data structure.

Returns a hash ref containing the data. See Config::Model::DumpAsData for details.

warp_error

Returns a string describing any issue with Config::Model::Warper object. Returns '' if invoked on a tree object without warp specification.

AUTHOR ^

Dominique Dumont, (ddumont at cpan dot org)

SEE ALSO ^

Config::Model, Config::Model::Instance, Config::Model::Node, Config::Model::Loader, Config::Model::Dumper

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: