/usr/local/CPAN/XML-XSPF/XML/XSPF/Base.pm
package XML::XSPF::Base;
# $Id: Base.pm 13 2006-05-04 18:06:09Z dsully $
use strict;
use base qw(Class::Accessor);
sub _getSetWithDefaults {
my $self = shift;
my $key = shift;
my $defaults = shift;
if (@_) {
$self->set($key, @_);
}
# Set the default version to 1 if it's not set.
my $value = $self->get($key);
if (!defined $value) {
$value = $defaults->{$key};
}
return $value;
}
sub _asArray {
my $self = shift;
my $key = shift;
if (@_) {
if (ref($_[0]) eq 'ARRAY') {
$self->set($key, @_);
} else {
$self->set($key, [ @_ ]);
}
}
my $array = $self->get($key);
if (ref($array) eq 'ARRAY') {
return @{$array};
} else {
return ();
}
}
sub append {
my $self = shift;
my $key = shift;
push @{ $self->get($key) }, @_;
}
1;
__END__