package SVG::Graph::Data::Tree; BEGIN { $SVG::Graph::Data::Tree::AUTHORITY = 'cpan:CJFIELDS'; } our $VERSION = '0.04'; # VERSION use strict; use SVG::Graph::Data::Node; sub new { my ( $class, @args ) = @_; my $self = bless {}, $class; $self->init(@args); return $self; } sub init { my ( $self, %args ) = @_; $self->root( SVG::Graph::Data::Node->new ); $self->root->name('root'); foreach my $arg ( keys %args ) { $self->$arg( $args{$arg} ); } } sub depth { my ( $self, @args ) = @_; return $self->root->depth; } sub root { my $self = shift; return $self->{'root'} = shift if @_; return $self->{'root'}; } sub new_node { my ( $self, @args ) = @_; return SVG::Graph::Data::Node->new(@args); } 1; __END__ =pod =encoding utf-8 =head1 NAME SVG::Graph::Data::Tree =head2 new Title : new Usage : Function: Example : Returns : Args : =head2 init Title : init Usage : Function: Example : Returns : Args : =head2 depth Title : depth Usage : Function: Example : Returns : Args : =head2 root Title : root Usage : $obj->root($newval) Function: Example : Returns : value of root (a scalar) Args : on set, new value (a scalar or undef, optional) =head2 new_node Title : new_node Usage : Function: Example : Returns : Args : =head1 AUTHOR Chris Fields =head1 COPYRIGHT AND LICENSE This software is Copyright (c) 2012 by Chris Fields. This is free software, licensed under: The Artistic License 2.0 (GPL Compatible) =cut