package Net::XRC::Data::complex;
use strict;
use vars qw(@ISA);
use Net::XRC::Data;
@ISA = qw(Net::XRC::Data);
sub encode {
my $self = shift;
my %hash = %$self;
my $typename = delete $hash{_type};
":$typename(". join("\n", map {
"$_ ".
isa( $hash{$_}, 'Net::XRC::Data' )
? $hash{$_}->encode
: Net::XRC::Data->new($hash{$_})->encode
}
keys %hash
).
")";
}