Stevan Little > Forest > Forest::Tree::Builder

Download:
Forest-0.10.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  1
Open  0
View/Report Bugs
Module Version: 0.10   Source  

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 AND LICENSE ^

Copyright 2008-2014 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.

syntax highlighting: