summaryrefslogtreecommitdiff
path: root/lib/Tree/Template/Declare/DAG_Node.pm
blob: c0057521cb60cbfa8a69d4d26bab1bf3486c1be6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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;