Forest::Tree::Builder.3pm

Langue: en

Version: 2010-01-13 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

Forest::Tree::Builder - An abstract role for bottom up tree reader

SYNOPSIS

     package MyBuilder;
     use Moose;
 
     with qw(Forest::Tree::Builder);
 
     # implement required builder:
 
     sub _build_subtrees {
         return [
             $self->create_new_subtree( ... ), # probably a recursive process
         ];
     }
 
 
     my $builder = MyBuilder->new(
         tree_class => ...,
         ...
     );
 
     my $tree = $builder->tree;
 
 

DESCRIPTION

Forest::Tree::Builder replaces Forest::Tree::Loader and Forest::Tree::Reader with a bottom up construction approach, which is also suitable for constructing Forest::Tree::Pure derived trees without excessive cloning.

It provides a declarative API instead of an imperative one, where "tree" is lazily constructed on the first use, instead of being constructed immediately and ``filled in'' by the "load" method.

METHODS

create_new_subtree
Implemented by Forest::Tree::Constructor
_build_tree
Constructs a root node by using the top level "subtrees" list as the children.
_build_subtrees
Build the subtrees.

Abstract method that should return an array ref of Forest::Tree::Pure derived objects.

SEE ALSO

Forest::Tree::Builder::SimpleTextFile

BUGS

All complex software has bugs lurking in it, and this module is no exception. If you find a bug please either email me, or add the bug to cpan-RT.

AUTHOR

Yuval Kogman Copyright 2008-2010 Infinity Interactive, Inc.

<http://www.iinteractive.com>

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.