NAME

Data::Page::Tied - Tied interface for the Data::Page module

SYNOPSIS

use Data::Page::Tied;
$handler = tie @data,
           'Data::Page::Tied',
           [qw(some data to start with)],
           $entries_per_page,
           $current_page;

push @data, @more_data;
print "first entry on page ", $handler->current_page(),
      " is ",                 $handler->first();

DEPENDENCIES

This module depends on Data::Page and Test::Simple.

DESCRIPTION

The Data::Page::Tied module adds a tied interface to the object-oriented interface defined by Leon Brocard's Data::Page module. It also adds several methods to set and get the current page and the number of data items per page.

Please read Data::Page as Data::Page::Tied inherits all methods from Data::Page.

The tying constructor has the following syntax:

tie @ary, 'Data::Page::Tied', ARRAYREF,
          INTEGER,            INTEGER;

Where the referenced array may contain any data to start with and the integers denote the number of entries per page and the current page respectively.

Methods

new

This is the constructor. It is invoked by the tied interface, but using it directly allows for two distinct ways of creating new objects:

You may use the same syntax as the tied interface or you may use the following syntax to get an ordinary Data::Page object instead of a Data::Page::Tied object:

Data::Page::Tied->new( INTEGER, @args );

Where the integer is the number of elements.

total_entries

This method returns the number of items in the tied array.

set_current_page

This method sets the current page. You may find the current page by using the inherited current_page method.

set_entries_per_page

This method sets the number of items displayed per page. You may find the current number of items displayed per page by using the inherited entries_per_page method.

entry

This accessor is used to get or set any specific entry. It takes one or two arguments. The first argument is always the array index and the second (optional) argument is the value you want to set $array[$index] to.

set_entry

Additional method to make the interface more consistent. Takes two arguments. See entry.

AUTHOR

Steffen Mueller, <smueller@cpan.org>

COPYRIGHT AND LICENSE

Copyright (C) 2002-2006 Steffen Mueller

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

SEE ALSO

Data::Page