-
-
Notifications
You must be signed in to change notification settings - Fork 0
Wikibase cache backend abstract class
License
michal-josef-spacek/Wikibase-Cache-Backend
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
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 <https://github.com/michal-josef-spacek/Wikibase-Cache-Backend> AUTHOR Michal Josef Špaček <mailto:skim@cpan.org> <http://skim.cz> LICENSE AND COPYRIGHT © 2021-2023 Michal Josef Špaček BSD 2-Clause License VERSION 0.05
About
Wikibase cache backend abstract class
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published