NAME Wikibase::Cache::Backend - Abstract class for Wikibase::Cache backend. SYNOPSIS use Wikibase::Cache::Backend; my $obj = Wikibase::Cache::Backend->new; my $value = $obj->get($type, $key); my $saved_value = $obj->save($type, $key, $value); DESCRIPTION Abstract class for Wikibase::Cache backend. Methods, which needs to implement are: "_get()" and "_save()". METHODS "new" my $obj = Wikibase::Cache::Backend->new; Constructor. Returns instance of object. "get" my $value = $obj->get($type, $key); Get cache value for $type and $key. Possible types are 'description' and 'label'. Returns string. "save" my $saved_value = $obj->save($type, $key, $value); Save cache value for $type and $key. Value will be set to $value. Possible types are 'description' and 'label'. Returns string. ERRORS new(): From Class::Utils::set_params(): Unknown parameter '%s'. get(): This is abstract class. You need to implement '_get' method. Type '%s' isn't supported. Type must be defined.'; save(): This is abstract class. You need to implement '_save' method. Type '%s' isn't supported. Type must be defined.'; EXAMPLE use strict; use warnings; package Foo; use base qw(Wikibase::Cache::Backend); sub _get { my ($self, $type, $key) = @_; my $value = $self->{'_data'}->{$type}->{$key} || undef; return $value; } sub _save { my ($self, $type, $key, $value) = @_; $self->{'_data'}->{$type}->{$key} = $value; return $value; } package main; # Object. my $obj = Foo->new; # Save cached value. $obj->save('label', 'foo', 'FOO'); # Get cached value. my $value = $obj->get('label', 'foo'); # Print out. print $value."\n"; # Output like: # FOO DEPENDENCIES Class::Utils, Error::Pure, List::Util, Readonly. SEE ALSO Wikibase::Cache Wikibase cache class. REPOSITORY AUTHOR Michal Josef Špaček LICENSE AND COPYRIGHT © 2021-2023 Michal Josef Špaček BSD 2-Clause License VERSION 0.04