package MySimpleBand;

# $Id: MySimpleBand.pm 35 2004-10-13 02:00:44Z cwinters $

use strict;
use base qw( Class::Factory );

sub init {
    my ( $self, $params ) = @_;
    $self->band_name( $params->{band_name} );
    return $self;
}


sub band_name {
    my ( $self, $name ) = @_;
    $self->{band_name} = $name if ( $name );
    return $self->{band_name};
}

sub genre {
    my ( $self, $genre ) = @_;
    $self->{genre} = $genre if ( $genre );
    return $self->{genre};
}

# Use these to hold logging/error messages we can inspect later

$MySimpleBand::log_msg   = '';
$MySimpleBand::error_msg = '';

sub factory_log {
    shift; $MySimpleBand::log_msg = join( '', @_ );
}

sub factory_error {
    shift; $MySimpleBand::error_msg = join( '', @_ );
}

__PACKAGE__->add_factory_type( rock => 'MyRockBand' );
__PACKAGE__->register_factory_type( country => 'MyCountryBand' );

1;



syntax highlighted by Code2HTML, v. 0.9.1