Bio::DB::GFF::Adaptor::dbi
iterator
Toolbar
Summary
Bio::DB::GFF::Adaptor::dbi::iterator - iterator for Bio::DB::GFF::Adaptor::dbi
Package variables
No package variables defined.
Synopsis
For internal use only
Description
This is an internal module that is used by the Bio::DB::GFF DBI
adaptor to return an iterator across a sequence feature query. The
object has a single method, next_feature(), that returns the next
feature from the query. The method next_seq() is an alias for
next_feature().
Methods
new | No description | Code |
next_feature | No description | Code |
Methods description
None available.
Methods code
sub new
{ my $class = shift;
my ($sth,$callback) = @_;
return bless [$sth,$callback,[]],$class; } |
sub next_feature
{ my $self = shift;
return shift @{$self->[CACHE]} if @{$self->[CACHE]};
my $sth = $self->[STH] or return;
my $callback = $self->[CALLBACK];
my $features;
while (1) {
if (my @row = $sth->fetchrow_array) {
$features = $callback->(@row);
last if $features;
} else {
$sth->finish;
undef $self->[STH];
$features = $callback->();
last;
}
}
$self->[CACHE] = $features or return;
shift @{$self->[CACHE]};
}
1; } |
General documentation
None known yet.
Lincoln Stein <lstein@cshl.org>.
Copyright (c) 2001 Cold Spring Harbor Laboratory.
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.