Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

tap::parser::iteratorfactory(3pm) [suse man page]

TAP::Parser::IteratorFactory(3pm)			 Perl Programmers Reference Guide			 TAP::Parser::IteratorFactory(3pm)

NAME
TAP::Parser::IteratorFactory - Internal TAP::Parser Iterator VERSION
Version 3.17 SYNOPSIS
use TAP::Parser::IteratorFactory; my $factory = TAP::Parser::IteratorFactory->new; my $iter = $factory->make_iterator(*TEST); my $iter = $factory->make_iterator(@array); my $iter = $factory->make_iterator(\%hash); my $line = $iter->next; DESCRIPTION
This is a factory class for simple iterator wrappers for arrays, filehandles, and hashes. Unless you're subclassing, you probably won't need to use this module directly. METHODS
Class Methods "new" Creates a new factory class. Note: You currently don't need to instantiate a factory in order to use it. "make_iterator" Create an iterator. The type of iterator created depends on the arguments to the constructor: my $iter = TAP::Parser::Iterator->make_iterator( $filehandle ); Creates a stream iterator (see "make_stream_iterator"). my $iter = TAP::Parser::Iterator->make_iterator( $array_reference ); Creates an array iterator (see "make_array_iterator"). my $iter = TAP::Parser::Iterator->make_iterator( $hash_reference ); Creates a process iterator (see "make_process_iterator"). "make_stream_iterator" Make a new stream iterator and return it. Passes through any arguments given. Defaults to a TAP::Parser::Iterator::Stream. "make_array_iterator" Make a new array iterator and return it. Passes through any arguments given. Defaults to a TAP::Parser::Iterator::Array. "make_process_iterator" Make a new process iterator and return it. Passes through any arguments given. Defaults to a TAP::Parser::Iterator::Process. SUBCLASSING
Please see "SUBCLASSING" in TAP::Parser for a subclassing overview. There are a few things to bear in mind when creating your own "ResultFactory": 1. The factory itself is never instantiated (this may change in the future). This means that "_initialize" is never called. Example package MyIteratorFactory; use strict; use vars '@ISA'; use MyStreamIterator; use TAP::Parser::IteratorFactory; @ISA = qw( TAP::Parser::IteratorFactory ); # override stream iterator sub make_stream_iterator { my $proto = shift; MyStreamIterator->new(@_); } 1; ATTRIBUTION
Originally ripped off from Test::Harness. SEE ALSO
TAP::Object, TAP::Parser, TAP::Parser::Iterator, TAP::Parser::Iterator::Array, TAP::Parser::Iterator::Stream, TAP::Parser::Iterator::Process, perl v5.12.1 2010-04-26 TAP::Parser::IteratorFactory(3pm)

Check Out this Related Man Page

TAP::Parser::Iterator(3pm)				 Perl Programmers Reference Guide				TAP::Parser::Iterator(3pm)

NAME
TAP::Parser::Iterator - Internal base class for TAP::Parser Iterators VERSION
Version 3.17 SYNOPSIS
# see TAP::Parser::IteratorFactory for general usage # to subclass: use vars qw(@ISA); use TAP::Parser::Iterator (); @ISA = qw(TAP::Parser::Iterator); sub _initialize { # see TAP::Object... } DESCRIPTION
This is a simple iterator base class that defines TAP::Parser's iterator API. See "TAP::Parser::IteratorFactory" for the preferred way of creating iterators. METHODS
Class Methods "new" Create an iterator. Provided by TAP::Object. Instance Methods "next" while ( my $item = $iter->next ) { ... } Iterate through it, of course. "next_raw" Note: this method is abstract and should be overridden. while ( my $item = $iter->next_raw ) { ... } Iterate raw input without applying any fixes for quirky input syntax. "handle_unicode" If necessary switch the input stream to handle unicode. This only has any effect for I/O handle based streams. The default implementation does nothing. "get_select_handles" Return a list of filehandles that may be used upstream in a select() call to signal that this Iterator is ready. Iterators that are not handle-based should return an empty list. The default implementation does nothing. "wait" Note: this method is abstract and should be overridden. my $wait_status = $iter->wait; Return the "wait" status for this iterator. "exit" Note: this method is abstract and should be overridden. my $wait_status = $iter->exit; Return the "exit" status for this iterator. SUBCLASSING
Please see "SUBCLASSING" in TAP::Parser for a subclassing overview. You must override the abstract methods as noted above. Example TAP::Parser::Iterator::Array is probably the easiest example to follow. There's not much point repeating it here. SEE ALSO
TAP::Object, TAP::Parser, TAP::Parser::IteratorFactory, TAP::Parser::Iterator::Array, TAP::Parser::Iterator::Stream, TAP::Parser::Iterator::Process, perl v5.12.1 2010-04-26 TAP::Parser::Iterator(3pm)
Man Page