| Iterator-BreakOn documentation | Contained in the Iterator-BreakOn distribution. |
Iterator::BreakOn::Event - Build and destroy events
This documentation refers to Iterator::BreakOn::Event version 0.1
use Iterator::BreakOn::Event;
my $event = Iterator::BreakOn::Event->new( {
name => 'before_location',
field => 'location',
value => 'AVILA',
});
if ($event->name() eq 'AVILA') {
# do something ...
}
This module build and destroy event objects for the Iterator::BreakOn package.
Create and initialize a new Iterator::BreakOn::Event object. Return a reference to the new object or undef in case of fail.
Accessor/mutator for the event name. This parameter only can be 'on_first', 'on_last', 'on_every', 'before_*', or 'after_*'; other values raise an exception.
Accessor/mutator for the field attribute of the object.
Accessor/mutator for the value attribute of the object.
There are no known bugs in this module. Please report problems to the author. Patches are welcome.
VĂctor Moral <victor@taquiones.net>
| Iterator-BreakOn documentation | Contained in the Iterator-BreakOn distribution. |
package Iterator::BreakOn::Base::Event; use base qw(Class::Accessor); use strict; use warnings; use Carp; # # I'm using This pseudo class the limitations of Class::Accessor for # overriding autogenerated accessors # our $VERSION = '0.1'; Iterator::BreakOn::Base::Event->mk_accessors( qw( name field value ) ); package Iterator::BreakOn::Event; use base qw(Iterator::BreakOn::Base::Event); use strict; use warnings; use Carp; use Iterator::BreakOn::X; our $VERSION = '0.1'; sub name { my $self = shift; my $value = shift; if (defined($value)) { if ($value =~ m{on_first|on_last|on_every| before_(\w+)|after_(\w+)}xms) { return $self->SUPER::name( $value ); } else { Iterator::BreakOn::X->invalid_event->throw( name => $value ); } } return $self->SUPER::name(); } 1; __END__