package Tree::Template::Declare::DAG_Node;
use strict;
use warnings;
use Carp;
sub new {
my ($class,$node_class)=@_;
$node_class||='Tree::DAG_Node';
eval "require $node_class";
croak "Can't load $node_class: $@" if $@;
return bless {nc=>$node_class},$class;
}
sub new_node {
my ($self)=@_;
return $self->{nc}->new();
}
sub add_child_node {
my ($self,$parent,$child)=@_;
return $parent->add_daughter($child);
}
sub set_node_name {
my ($self,$node,$name)=@_;
return $node->name($name);
}
sub set_node_attributes {
my ($self,$node,$attrs)=@_;
return $node->attributes($attrs);
}
1;