Cache::CacheFactory::Expiry - Factory class for expiry policies for Cache::CacheFactory.


Cache-CacheFactory documentation Contained in the Cache-CacheFactory distribution.

Index


Code Index:

NAME

Top

Cache::CacheFactory::Expiry - Factory class for expiry policies for Cache::CacheFactory.

DESCRIPTION

Top

Cache::CacheFactory::Expiry is a class factory for expiry (pruning and validity) policies used by Cache::CacheFactory.

You will only need to know about this module if you're writing your own expiry policy modules, documented in "WRITING NEW POLICIES" in Cache::CacheFactory.

METHODS

Top

$policy = Cache::CacheFactory::Expiry->new( $type, @param );

Construct an expiry policy of the specified type, supplying @param to the constructor of the policy object.

SEE ALSO

Top

Cache::CacheFactory, Class::Factory

AUTHORS

Top

Original author: Sam Graham <libcache-cachefactory-perl BLAHBLAH illusori.co.uk>

Last author: $Author: illusori $

COPYRIGHT

Top


Cache-CacheFactory documentation Contained in the Cache-CacheFactory distribution.

###############################################################################
# Purpose : Cache Expiry Policy Factory.
# Author  : Sam Graham
# Created : 23 Jun 2008
# CVS     : $Id: Expiry.pm,v 1.8 2010-02-16 12:25:41 illusori Exp $
###############################################################################

package Cache::CacheFactory::Expiry;

use warnings;
use strict;

use Class::Factory;

use base qw/Class::Factory/;

$Cache::CacheFactory::Expiry::VERSION = '1.10';

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(
    forever      => 'Cache::CacheFactory::Expiry::Base' );
__PACKAGE__->register_factory_type(
    time         => 'Cache::CacheFactory::Expiry::Time' );
__PACKAGE__->register_factory_type(
    size         => 'Cache::CacheFactory::Expiry::Size' );
__PACKAGE__->register_factory_type(
    lastmodified => 'Cache::CacheFactory::Expiry::LastModified' );

1;

__END__