Data::Grove::Parent(3pm) User Contributed Perl Documentation Data::Grove::Parent(3pm)
NAME
Data::Grove::Parent - provide parent properties to Data::Grove objects
SYNOPSIS
use Data::Grove::Parent;
$root = $object->root;
$rootpath = $object->rootpath;
$tied = $object->add_magic([ $parent ]);
$node = Data::Grove::Parent->new($hash [, $parent]);
$node_list = Data::Grove::ParentList->new($array [, $parent]);
DESCRIPTION
Data::Grove::Parent is an extension to Data::Grove that adds `"Parent"' and `"Raw"'
properties to Data::Grove objects and methods for returning the root node of a grove, a
list of nodes between and including the root node and the current node, and a method that
creates parented nodes.
Data::Grove::Parent works by creating a Perl ``tied'' object that contains a parent
reference (`"Parent"') and a reference to the original Data::Grove object (`"Raw"').
Tying-magic is used so that every time you reference the Data::Grove::Parent object it
actually references the underlying raw object.
When you retrieve a list or a property of the Raw object, Data::Grove::Parent
automatically adds magic to the returned list or node. This means you only call
`add_magic()' once to create the first Data::Grove::Parent object and then use the grove
objects like you normally would.
The most obvious use of this is so you don't have to call a `"delete"' method when you
want to release a grove or part of a grove; since Data::Grove and Data::Grove::Parent
objects have no cyclic references, Perl can garbage collect them normally.
A secondary use is to allow you to reuse grove or property set fragments in multiple
trees. WARNING: Data::Grove currently does not protect you from creating your own cyclic
references! This could lead to infinite loops if you don't take care to avoid them.
METHODS
$object->root()
$object->rootpath()
`"root()"' returns the root node if `$object' is a `"Data::Grove::Parent"' object.
`"rootpath()"' returns an array of all the nodes between and including the root node
and `$object'.
$tied = $object->add_magic([ $parent ])
`"add_magic()"' returns a "Data::Grove::Parent" object with `$object' as it's `"Raw"'
object. If `$parent' is given, that becomes the tied object's parent object.
AUTHOR
Ken MacLeod, ken AT bitsko.us
SEE ALSO
perl(1), Data::Grove(3)
perl v5.32.0 2020-12-28 Data::Grove::Parent(3pm)
Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2025-11-21 18:05 @216.73.216.164 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)