NAME
Tree::Simple::WithMetaData - A Tree::Simple subclass with added metadata handling
SYNOPSIS
use Tree::Simple::WithMetaData;
my $tree = Tree::Simple::WithMetaData->new('a node');
$tree->addMetaData(
foo => "bar",
bar => "baz",
);
print $tree->fetchMetaData('foo'); # bar
$tree->addChild(
Tree::Simple::WithMetaData->new('another node');
);
# metadata is "inherited"
print $tree->getChild(0)->fetchMetaData('foo'); # bar
DESCRIPTION
This is a very simple (but actually very handy) subclass of Tree::Simple. It adds node level metadata and the ability for tree's to "inherit" their parents metadata as well. Read the source, it's really simple actually.
METHODS
- addMetaData (%metadata)
-
Adds the
%metadata
into the node. - hasMetaDataFor ($key)
-
Checks for presence of metadata at
$key
in the local metadata stash. - getMetaDataFor ($key)
-
Returns any metadata at
$key
in the local metadata stash. - fetchMetaData ($key)
-
Looks in the local stash for metadata at
$key
, if it is not found, then it will traverse up the tree until it finds something (or returns undef).
BUGS
None that I am aware of. Of course, if you find a bug, let me know, and I will be sure to fix it.
AUTHOR
stevan little, <stevan@iinteractive.com>
COPYRIGHT AND LICENSE
Copyright 2004-2007 by Infinity Interactive, Inc.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.