NAME
Lucy::Index::Snapshot - Point-in-time index file list.
SYNOPSIS
my $snapshot = Lucy::Index::Snapshot->new;
$snapshot->read_file( folder => $folder ); # load most recent snapshot
my $files = $snapshot->list;
print "$_\n" for @$files;
DESCRIPTION
A Snapshot is list of index files and folders. Because index files, once written, are never modified, a Snapshot defines a point-in-time view of the data in an index.
IndexReader objects interpret the data associated with a single Snapshot.
CONSTRUCTORS
new
my $snapshot = Lucy::Index::Snapshot->new;
Constructor. Takes no arguments.
METHODS
list
my $arrayref = $snapshot->list();
Return an array of all entries.
num_entries
my $int = $snapshot->num_entries();
Return the number of entries (including directories).
add_entry
$snapshot->add_entry($entry);
Add a filepath to the snapshot.
delete_entry
my $bool = $snapshot->delete_entry($entry);
Delete a filepath from the snapshot.
Returns: true if the entry existed and was successfully deleted, false otherwise.
read_file
my $result = $snapshot->read_file(
folder => $folder # required
path => $path # default: undef
);
Decode a snapshot file and initialize the object to reflect its contents.
folder - A Folder.
path - The location of the snapshot file. If not supplied, the most recent snapshot file in the base directory will be chosen.
Returns: the Snapshot object itself
write_file
$snapshot->write_file(
folder => $folder # required
path => $path # default: undef
);
Write a snapshot file. The caller must lock the index while this operation takes place, and the operation will fail if the snapshot file already exists.
folder - A Folder.
path - The path of the file to write. If undef, a file name will be chosen which supersedes the latest snapshot file in the index folder.
set_path
$snapshot->set_path($path);
Set the path to the file that the Snapshot object serves as a proxy for.
get_path
my $string = $snapshot->get_path();
Get the path to the snapshot file. Initially undef; updated by read_file(), write_file(), and set_path().
INHERITANCE
Lucy::Index::Snapshot isa Clownfish::Obj.