NAME
Metabase::Archive - Interface for Metabase storage
VERSION
version 1.002
SYNOPSIS
package Metabase::Archive::Foo;
use Metabase::Fact;
use Moose;
with 'Metabase::Archive';
# define Moose attributes
sub store {
my ( $self, $fact_struct ) = @_;
# store a fact
}
sub extract {
my ( $self, $guid ) = @_;
# retrieve a fact
return $fact;
}
sub delete {
my ( $self, $guid ) = @_;
# delete a fact;
return;
}
sub iterator {
my ( $self ) = @_;
# get iterator as Data::Stream::Bulk object
return $iterator;
}
sub initialize {
my ($self, @fact_classes) = @_;
# prepare backend to store data (e.g. create database, etc.)
return;
}
DESCRIPTION
This describes the interface for storing and retrieving facts. Implementations must provide the store
, extract
, delete
, iterator
and initialize
methods. initialize
must be idempotent. iterator
must return a Data::Stream::Bulk object.
AUTHORS
David Golden <dagolden@cpan.org>
Ricardo Signes <rjbs@cpan.org>
Leon Brocard <acme@cpan.org>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2013 by David Golden.
This is free software, licensed under:
The Apache License, Version 2.0, January 2004