Marvin Humphrey > KinoSearch-0.315 > KinoSearch::Index::Snapshot

Download:
KinoSearch-0.315.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  1
Open  4
View/Report Bugs
Source  

NAME ^

KinoSearch::Index::Snapshot - Point-in-time index file list.

DEPRECATED ^

The KinoSearch code base has been assimilated by the Apache Lucy project. The "KinoSearch" namespace has been deprecated, but development continues under our new name at our new home: http://lucy.apache.org/

SYNOPSIS ^

    my $snapshot = KinoSearch::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 = KinoSearch::Index::Snapshot->new;

Constructor. Takes no arguments.

METHODS ^

list()

Return an array of all entries.

num_entries()

Return the number of entries (including directories).

add_entry(entry)

Add a filepath to the snapshot.

delete_entry(entry)

Delete a filepath from the snapshot.

Returns: true if the entry existed and was successfully deleted, false otherwise.

read_file( [labeled params] )

Decode a snapshot file and initialize the object to reflect its contents.

Returns: the object, allowing an assignment idiom.

write_file( [labeled params] )

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.

set_path(path)

Set the path to the file that the Snapshot object serves as a proxy for.

get_path()

Get the path to the snapshot file. Initially undef; updated by read_file(), write_file(), and set_path().

INHERITANCE ^

KinoSearch::Index::Snapshot isa KinoSearch::Object::Obj.

COPYRIGHT AND LICENSE ^

Copyright 2005-2011 Marvin Humphrey

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

syntax highlighting: