Jean-Michel Hiver > Object-Store-0.01 > Object::Store

Download:
Object-Store-0.01.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
Report a bug
Module Version: 0.01   Source  

NAME ^

Object::Store - abstract class to store, modify, delete and search Perl objects

METHODS ^

$store = Object::Store->new (backend => $store_backend).

Instantiates a new Object::Store object using backend $store_backend.

$store_backend must implement the set(), get(), del() and list() methods. It can also optionally implement the find() method, otherwise the default find() is used.

$store->set ($object_id => $object);

Inserts or update an object.

$store->get ($class, $object_id);

Returns an object.

$storage->del ($class, $object_id);

Removes an object.

$storage->list ($class);

Returns a list of object IDs.

$storage->find (%args);

Generic 'search for stuff' method.

If $store_backend->find() exists, calls $store_backend->find(%args)

Otherwise, it creates a list of objects using list() and get() and performs the search on the object list, assuming objects are hash references. The default syntax for %args is

  foo => "<operand><value>",
  bar => "<operand><value>",
  etc.

Where <operand> is eq:, ne:, le:, lt:, gt:, ge:, gt:, ==:, >=:, >:, <=:, <: same behavior as Perl equivalent comparators.

You can also use like:, which behaves like SQL LIKE statements where % matches any substring and _ matches any character.

You can also use regexp: and use a Perl regexp.

If no valid operand is used, it assumes eq:.

Returns a list of matching objects.