package Data::All::Format; use strict; # CPAN Modules use base qw( Class::Factory ); our $VERSION = 0.10; # TODO: Give Data::All control of creating the Format objects. It should send them to IO # TODO: Allow external code to add new instance objects Data::All::Format->register_factory_type( delim => 'Data::All::Format::Delim' ); Data::All::Format->register_factory_type( fixed => 'Data::All::Format::Fixed' ); Data::All::Format->register_factory_type( hash => 'Data::All::Format::Hash' ); sub new() { my ( $pkg, $type ) = ( shift, shift ); my $class = $pkg->get_factory_class( $type ); # Use the base's new b/c it's will properly create the modules in # spiffy styles return $class->new(@_); } 1;