---
name: "Config::Model::AnyThing"
section: "3pm"
platform: "linux"
package: "libconfig-model-perl"
version: "2.155-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Config::Model::AnyThing"
---

# Config::Model::AnyThing(3pm)

Base class for configuration tree item

## NAME

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

## VERSION

version 2.155

## 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

A bit like parent, this method returns the element containing this object. See "container\_type"

### 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.

### 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.

### composite\_name

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

### composite\_name\_short

Return the element name with its index (if any). Too long indexes are truncated to be readable.

## 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:

### 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.

### support\_annotation

Returns 1 if at least one of the backends support to read and write annotations (aka comments) in the configuration file.

### annotation

Parameters: `"( [ 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

Parameters: `"( 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

### notify\_change

Notify the instance of semantic changes. Parameters are:

- old

  old value. (optional)

- new

  new value (optional)

- 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.

- note

  information about the change. Mandatory when neither old or new value are defined.

- really

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

- needs\_save

  internal parameter.

### show\_message

Parameters: `"( string )"`

Forwarded to "show\_message" in Config::Model::Instance.

### root\_path

Forwarded to "root\_path" in Config::Model::Instance.

### model\_searcher

Returns an object dedicated to search an element in the configuration model.

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) 2005-2022 by Dominique Dumont.

This is free software, licensed under:

```
  The GNU Lesser General Public License, Version 2.1, February 1999
```
