NAME
CatalystX::CRUD::Iterator - generic iterator wrapper for CXCM iterator() results
SYNOPSIS
package MyApp::Model::MyModel;
use CatalystX::CRUD::Iterator;
use MyModel;
__PACKAGE__->config->{object_class} = 'MyModel::Object';
sub iterator {
my ($self, $query) = @_;
my $iterator = MyModel->search_for_something;
# $iterator must have a next() method
return CatalystX::CRUD::Iterator->new(
$iterator,
$self->object_class
);
}
DESCRIPTION
CatalystX::CRUD::Iterator is a general iterator class that wraps a real iterator and blesses return results into a specified class. CatalystX::CRUD::Iterator is a glue that provides for a similar level of abstraction across all kinds of CXCM classes.
METHODS
new( iterator, class_name )
Returns a CatalystX::CRUD::Iterator instance.
iterator must have a next() method and (optionally) a finish() method.
See next().
next
Calls the next() method on the internal iterator object, stashing the result in an object returned by class_name->new under the method_name accessor.
finish
If the internal iterator object has a finish() method, this will call and return it. Otherwise returns true (1).
serialize
Returns array ref of all objects, having called serialize() on each one. Short-hand for:
my $objects = [];
while ( my $o = $iterator->next ) {
push @$objects, $o->serialize();
}
AUTHOR
Peter Karman, <perl at peknet.com>
BUGS
Please report any bugs or feature requests to bug-catalystx-crud at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=CatalystX-CRUD. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc CatalystX::CRUD
You can also look for information at:
Mailing List
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
RT: CPAN's request tracker
Search CPAN
ACKNOWLEDGEMENTS
COPYRIGHT & LICENSE
Copyright 2007 Peter Karman, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.