Help-Site Computer Manuals
Software
Hardware
Programming
Networking
  Algorithms & Data Structures   Programming Languages   Revision Control
  Protocols
  Cameras   Computers   Displays   Keyboards & Mice   Motherboards   Networking   Printers & Scanners   Storage
  Windows   Linux & Unix   Mac

Handel::Iterator
Iterator base class used for collection looping

Handel::Iterator - Iterator base class used for collection looping


NAME

Handel::Iterator - Iterator base class used for collection looping


SYNOPSIS


    my $iterator = Handel::Iterator::Custom->new({

        data         => [$object1, $object2, ...],

        result_class => 'MyResult',

        storage      => $storage

    });

    

    while (my $result = $iterator->next) {

        print $result->method;

    };


DESCRIPTION

Handel::Iterator is a base class used to create custom iterators for DBIx::Class resultsets and lists of results.


CONSTRUCTOR

new

Arguments: \%options

Creates a new iterator object. The following options are available:


    my $iterator = Handel::Iterator::Custom->new({

        data         => [$object1, $object2, ...],

        result_class => 'MyResult',

        storage      => $storage

    });

    my $result = $iterator->first;

    print ref $result; # MyResult
data
The data to be iterated through. The type of this data depends on the individual subclass.

result_class
The name of the class that each result should be inflated into.

storage
The storage object that was used to create the results.


METHODS

all

Returns all results from current iterator.


    foreach my $result ($iterator->all) {

        print $result->method;

    };

count

Returns the number of results in the current iterator.


    my $count = $iterator->count;

create_result

Arguments: $result [, $storage]

Returns a new result class object based on the specified result and storage objects. If no storage object is specified, the storage object passed to new will be used instead.

This method is used by methods like first and next to to create storage result objects. There is probably no good reason to use this method directly.

first

Returns the first result or undef if there are no results.


    my $first = $iterator->first;

last

Returns the last result or undef if there are no results.


    my $last = $iterator->last;

next

Returns the next result or undef if there are no results.


    while (my $result = $iterator->next) {

        print $result->method;

    };

reset

Resets the current result position back to the first result.


    while (my $result = $iterator->next) {

        print $result->method;

    };

    

    $iterator->reset;

    

    while (my $result = $iterator->next) {

        print $result->method;

    };


SEE ALSO

the Handel::Iterator::DBIC manpage, the Handel::Iterator::List manpage


AUTHOR


    Christopher H. Laco

    CPAN ID: CLACO

    claco@chrislaco.com

    http://today.icantfocus.com/blog/
Programminig
Wy
Wy
yW
Wy
Programming
Wy
Wy
Wy
Wy