NAME

Perl::ToPerl6::TransformerFactory - Instantiates Transformer objects.

DESCRIPTION

This is a helper class that instantiates Perl::ToPerl6::Transformer objects with the user's preferred parameters. There are no user-serviceable parts here.

INTERFACE SUPPORT

This is considered to be a non-public class. Its interface is subject to change without notice.

CONSTRUCTOR

new( -profile => $profile, -errors => $config_errors )

Returns a reference to a new Perl::ToPerl6::TransformerFactory object.

-profile is a reference to a Perl::ToPerl6::UserProfile object. This argument is required.

-errors is a reference to an instance of Perl::ToPerl6::ConfigErrors. This argument is optional. If specified, than any problems found will be added to the object.

METHODS

create_policy( -name => $policy_name, -params => \%param_hash )

Creates one Transformer object. If the object cannot be instantiated, it will throw a fatal exception. Otherwise, it returns a reference to the new Transformer object.

-name is the name of a Perl::ToPerl6::Transformer subclass module. The 'Perl::ToPerl6::Transformer' portion of the name can be omitted for brevity. This argument is required.

-params is an optional reference to hash of parameters that will be passed into the constructor of the Transformer. If -params is not defined, we will use the appropriate Transformer parameters from the Perl::ToPerl6::UserProfile.

Note that the Transformer will not have had "initialize_if_enabled" in Perl::ToPerl6::Transformer invoked on it, so it may not yet be usable.

create_all_transformers()

Constructs and returns one instance of each Perl::ToPerl6::Transformer subclass that is installed on the local system. Each Transformer will be created with the appropriate parameters from the user's configuration profile.

Note that the Policies will not have had "initialize_if_enabled" in Perl::ToPerl6::Transformer invoked on them, so they may not yet be usable.

SUBROUTINES

Perl::ToPerl6::TransformerFactory has a few static subroutines that are used internally, but may be useful to you in some way.

site_policy_names()

Returns a list of all the Transformer modules that are currently installed in the Perl::ToPerl6:Transformer namespace. These will include modules that are distributed with Perl::ToPerl6 plus any third-party modules that have been installed.

AUTHOR

Jeffrey Ryan Thalhammer <jeff@imaginative-software.com>

COPYRIGHT

Copyright (c) 2005-2011 Imaginative Software Systems. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of this license can be found in the LICENSE file included with this module.