Matthew Simon Cavalletto

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.