SYNOPSIS
use Class::MixinFactory::Factory;
my $factory = Class::MixinFactory::Factory->new();
$factory->base_class( "MyClass");
$factory->mixin_prefix( "MyMixins" );
$factory->mixed_prefix( "MyClasses" );
my $class = $factory->class( @mixins );
DESCRIPTION
A mixin factory generates new classes at run-time which inherit from each of several classes.PUBLIC METHODS
- new()
-
$factory_class->new() : $factory $factory_class->new( %attributes ) : $factory
Create a new factory object.
May be passed a hash of attributes, with the key matching one of the supported accessor methods named below and the value containing the value to assign.
- base_class()
-
$factory->base_class() : $package_name $factory->base_class( $package_name )
Required. Get or set the base class to be inherited from by all mixed classes.
- mixin_prefix()
-
$factory->mixin_prefix() : $package_name $factory->mixin_prefix( $package_name )
Optional. Get or set a prefix to be placed before all mixin class names that don't contain a double-colon. Defaults to the name of the base class.
- mixed_prefix()
-
$factory->mixed_prefix() : $package_name $factory->mixed_prefix( $package_name )
Optional. Get or set a prefix to be placed before all generated class names. Defaults to the name of the base class or the factory class followed by ``::AUTO''
- class()
-
$factory->class( @mixins ) : $package_name
Find or generate a class combining the requested mixin classes.