############################################################################### # Purpose : Cache Storage Policy Factory. # Author : Sam Graham # Created : 23 Jun 2008 # CVS : $Id: Storage.pm,v 1.6 2008-07-14 12:16:40 illusori Exp $ ############################################################################### package Cache::CacheFactory::Storage; use warnings; use strict; use Class::Factory; use base qw/Class::Factory/; $Cache::CacheFactory::Storage::VERSION = sprintf"%d.%03d", q$Revision: 1.6 $ =~ /: (\d+)\.(\d+)/; sub new { my ( $this, $type, @params ) = @_; my ( $class ); $class = $this->get_factory_class( $type ); return( undef ) unless $class; return( $class->new( @params ) ); } __PACKAGE__->register_factory_type( memory => 'Cache::MemoryCache' ); __PACKAGE__->register_factory_type( sharedmemory => 'Cache::SharedMemoryCache' ); __PACKAGE__->register_factory_type( file => 'Cache::FileCache' ); __PACKAGE__->register_factory_type( null => 'Cache::NullCache' ); __PACKAGE__->register_factory_type( fastmemory => 'Cache::FastMemoryCache' ); 1; __END__ =pod =head1 NAME Cache::CacheFactory::Storage - factory class for storage policies for Cache::CacheFactory. =head1 DESCRIPTION L is a class factory for storage policies used by L. You will only need to know about this module if you're writing your own storage policy modules, documented in L. =head1 METHODS =over =item $policy = Cache::CacheFactory::Storage->new( $type, @param ); Construct an storage policy of the specified type, supplying C<@param> to the constructor of the policy object. =back =head1 SEE ALSO L, L =head1 AUTHORS Original author: Sam Graham Last author: $Author: illusori $ =head1 COPYRIGHT Copyright 2008 Sam Graham. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =cut