sub
new {
my
(
$class
,
$data
) =
@_
;
my
$self
=
bless
{
data
=>
$data
},
$class
;
return
$self
;
}
sub
get_root {
my
(
$self
) =
@_
;
return
(
$self
->data,
$self
->data->{node},
undef
,
$self
->data->{data} );
}
sub
get_child_count {
my
(
$self
,
$cookie
) =
@_
;
my
$childs
=
$cookie
->{childs} || [];
return
scalar
@$childs
;
}
sub
get_child {
my
(
$self
,
$cookie
,
$index
) =
@_
;
my
$childs
=
$cookie
->{childs} || [];
return
(
$childs
->[
$index
],
$childs
->[
$index
]->{node},
undef
,
$childs
->[
$index
]->{data} );
}
sub
data {
$_
[0]->{data} }
1;