Cache::Object - the data stored in a Cache.


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

Index


Code Index:

NAME

Top

Cache::Object -- the data stored in a Cache.

DESCRIPTION

Top

Object is used by classes implementing the Cache interface as an object oriented wrapper around the data. End users will not normally use Object directly, but it can be retrieved via the get_object method on the Cache::Cache interface.

SYNOPSIS

Top

 use Cache::Object;

 my $object = new Cache::Object( );

 $object->set_key( $key );
 $object->set_data( $data );
 $object->set_expires_at( $expires_at );
 $object->set_created_at( $created_at );




METHODS

Top

new( )

Construct a new Cache::Object.

PROPERTIES

Top

(get|set)_accessed_at

The time at which the object was last accessed. Various cache implementations will use the accessed_at property to store information for LRU algorithms. There is no guarentee that all caches will update this field, however.

(get|set)_created_at

The time at which the object was created.

(get|set)_data

A scalar containing or a reference pointing to the data to be stored.

(get|set)_expires_at

The time at which the object should expire from the cache.

(get|set)_key

The key under which the object was stored.

(get|set)_size

The size of the frozen version of this object

SEE ALSO

Top

Cache::Cache

AUTHOR

Top

Original author: DeWitt Clinton <dewitt@unto.net>

Last author: $Author: dclinton $

Copyright (C) 2001-2003 DeWitt Clinton


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

######################################################################
# $Id: Object.pm,v 1.8 2002/04/07 17:04:46 dclinton Exp $
# Copyright (C) 2001-2003 DeWitt Clinton  All Rights Reserved
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either expressed or
# implied. See the License for the specific language governing
# rights and limitations under the License.
######################################################################

package Cache::Object;

use strict;


sub new
{
  my ( $proto ) = @_;
  my $class = ref( $proto ) || $proto;
  my $self  = {};
  bless ( $self, $class );
  return $self;
}


sub get_created_at
{
  my ( $self ) = @_;

  return $self->{_Created_At};
}

sub set_created_at
{
  my ( $self, $p_created_at ) = @_;

  $self->{_Created_At} = $p_created_at;
}


sub get_accessed_at
{
  my ( $self ) = @_;

  return $self->{_Accessed_At};
}

sub set_accessed_at
{
  my ( $self, $p_accessed_at ) = @_;

  $self->{_Accessed_At} = $p_accessed_at;
}


sub get_data
{
  my ( $self ) = @_;

  return $self->{_Data};
}

sub set_data
{
  my ( $self, $p_data ) = @_;

  $self->{_Data} = $p_data;
}


sub get_expires_at
{
  my ( $self ) = @_;

  return $self->{_Expires_At};
}


sub set_expires_at
{
  my ( $self, $p_expires_at ) = @_;

  $self->{_Expires_At} = $p_expires_at;
}


sub get_key
{
  my ( $self ) = @_;

  return $self->{_Key};
}


sub set_key
{
  my ( $self, $p_key ) = @_;

  $self->{_Key} = $p_key;
}



sub get_size
{
  my ( $self ) = @_;

  return $self->{_Size};
}


sub set_size
{
  my ( $self, $p_size ) = @_;

  $self->{_Size} = $p_size;
}


sub get_identifier
{
  my ( $self ) = @_;

  warn( "get_identifier has been marked deprepricated.  use get_key" );

  return $self->get_key( );
}


sub set_identifier
{
  my ( $self, $p_identifier ) = @_;

  warn( "set_identifier has been marked deprepricated.  use set_key" );

  return $self->set_key( $p_identifier );
}




1;


__END__