Iterator::File::Source::Interface - Interface for Iterator::File data sources


Iterator-File documentation Contained in the Iterator-File distribution.

Index


Code Index:

NAME

Top

Iterator::File::Source::Interface -- Interface for Iterator::File data sources

DESCRIPTION

Top

All data sources should subclass Iterator::File::Source::Interface & implement the methods defined here.

Iterator::File::Source::Interface inherits from Iterator::File::Utility.

new(%config)

Construct the object. Argument validation. Default assignment.

initialize()

Any heavy lifting should occur here. E.g., opening a file or shared memory segment.

next()

Advance the iterator & return the new value.

value()

Return the current value, without advancing.

advance_to( $location )

Advance the iterator to $location. If $location is behind the current location, behavior is undefined. (I.e., don't do that.)

finish()

Invoked when all is complete so that cleanup may occur.

SEE ALSO

Top

Iterator::File

AUTHOR

Top

William Reardon, <wdr1@pobox.com>

COPYRIGHT AND LICENSE

Top


Iterator-File documentation Contained in the Iterator-File distribution.
package Iterator::File::Source::Interface;

## $Id: Interface.pm,v 1.5 2008/06/11 05:20:07 wdr1 Exp $

use 5.006;
use strict;
use warnings;

use Iterator::File::Utility;

our @ISA = qw(Iterator::File::Utility);
our $VERSION = substr(q$Revision: 1.5 $, 10);

our %default_config = ();

sub new {
  my ($class, %config) = @_;

  %config = (%default_config, %config);
  my $self = $class->SUPER::new( %config );
  bless($self, $class);

  return $self;
}


sub initialize {}


sub next {}


sub value {}


sub advance_to {}


sub finish {}


1;
__END__
# Below is stub documentation for your module. You'd better edit it!