| Iterator-File documentation | Contained in the Iterator-File distribution. |
Iterator::File::State::Interface -- Interface for Iterator::File state classes
All data sources should subclass Iterator::File::State::Interface, overriding methods as appropriate.
Iterator::File::State::Interface inherits from Iterator::File::Utility.
Each subclass can take a %config hash. Keys/meaning will be specific to each subclass.
Initilizes any requirements for class. (E.g., prepping temp files.) The iterator is not available until after initialize is invoked.
Increments the marker by one.
Return the current value of the marker.
Sets the value of the marker to $num. Note this update is independent of any changes to the source file.
Perform any required clean up once we're done.
Iterator::File
William Reardon, <wdr1@pobox.com>
Copyright (C) 2008 by William Reardon
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.
| Iterator-File documentation | Contained in the Iterator-File distribution. |
package Iterator::File::State::Interface; ## $Id: Interface.pm,v 1.5 2008/06/17 06:00:28 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 = ( 'update_frequency' => 1, ); sub new { my ($class, %config) = @_; %config = (%default_config, %config); my $self = $class->SUPER::new( %config ); bless($self, $class); return $self; } sub initialize { my ($self) = @_; $self->{'marker'} = 0; } sub advance_marker { my ($self) = @_; return $self->set_marker( $self->marker() + 1 ); } sub marker { my $self = shift; return $self->{'marker'}; } sub set_marker { my $self = shift; my $num = shift; $self->{'marker'} = $num; } sub finish {} 1; __END__ # Below is stub documentation for your module. You'd better edit it!