package FormValidator::Simple::ArrayList; use strict; use base qw/Class::Accessor::Fast/; use FormValidator::Simple::Iterator; __PACKAGE__->mk_accessors(qw/records/); sub new { my $class = shift; my $self = bless { }, $class; $self->records( [ ] ); $self->_init(@_); return $self; } sub _init { my ($self, @args) = @_; } sub append { my ($self, $record) = @_; push @{ $self->records }, $record; } sub get_record_at { my ($self, $index) = @_; return $self->records->[$index]; } sub records_count { my $self = shift; return scalar @{ $self->records }; } sub iterator { my $self = shift; return FormValidator::Simple::Iterator->new($self); } 1; __END__