NAME

Class::MixinFactory::Factory - Class Factory with Selection of Mixins

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.

SEE ALSO

For a facade interface that facilitates access to this functionality, see Class::MixinFactory.

For distribution, installation, support, copyright and license information, see Class::MixinFactory::ReadMe.