NAME

HH::Unispool::Config::File::Tokenizer - file tokenizer module

SYNOPSIS

Application programmers don't need to use this class and API programmers read code.

ABSTRACT

file tokenizer module

DESCRIPTION

HH::Unispool::Config::File::Tokenizer generates HH::Unispool::Config::File::Token objects from an IO::Handle.

CONSTRUCTOR

new(OPT_HASH_REF)

Creates a new HH::Unispool::Config::File::Tokenizer object. OPT_HASH_REF is a hash reference used to pass initialization options. OPT_HASH_REF is mandatory. On error an exception Error::Simple is thrown.

Options for OPT_HASH_REF may include:

file

Passed to set_file(). Mandatory option.

got_buffer

Passed to set_got_buffer(). Must be an ARRAY reference.

unget_buffer

Passed to set_unget_buffer(). Must be an ARRAY reference.

METHODS

exists_got_buffer(ARRAY)

Returns the count of items in ARRAY that are in the got buffer.

exists_unget_buffer(ARRAY)

Returns the count of items in ARRAY that are in the unget buffer.

get()

Either unget a HH::Unispool::Config::File::Token from the unget buffer and return it or read a line from the file, make a HH::Unispool::Config::File::Token out of it and return it. On error a Error::Simple exception is thrown.

get_file()

Returns the file handle to read from.

get_got_buffer( [ INDEX_ARRAY ] )

Returns an ARRAY containing the got buffer. INDEX_ARRAY is an optional list of indexes which when specified causes only the indexed elements in the ordered list to be returned. If not specified, all elements are returned.

get_unget_buffer( [ INDEX_ARRAY ] )

Returns an ARRAY containing the unget buffer. INDEX_ARRAY is an optional list of indexes which when specified causes only the indexed elements in the ordered list to be returned. If not specified, all elements are returned.

input_line_number()

Return the last read input line number.

pop_got_buffer()

Pop and return an element off the got buffer. On error an exception Error::Simple is thrown.

pop_unget_buffer()

Pop and return an element off the unget buffer. On error an exception Error::Simple is thrown.

push_got_buffer(ARRAY)

Push additional values on the got buffer. ARRAY is the list value. On error an exception Error::Simple is thrown.

The values in ARRAY must be a (sub)class of:
HH::Unispool::Config::File::Token
push_unget_buffer(ARRAY)

Push additional values on the unget buffer. ARRAY is the list value. On error an exception Error::Simple is thrown.

The values in ARRAY must be a (sub)class of:
HH::Unispool::Config::File::Token
set_file(VALUE)

Set the file handle to read from. VALUE is the value. VALUE may not be undef. On error an exception Error::Simple is thrown.

VALUE must be a (sub)class of:
IO::Handle
set_got_buffer(ARRAY)

Set the got buffer absolutely. ARRAY is the list value. On error an exception Error::Simple is thrown.

The values in ARRAY must be a (sub)class of:
HH::Unispool::Config::File::Token
set_idx_got_buffer( INDEX, VALUE )

Set value in the got buffer. INDEX is the integer index which is greater than or equal to 0. VALUE is the value.

The values in ARRAY must be a (sub)class of:
HH::Unispool::Config::File::Token
set_idx_unget_buffer( INDEX, VALUE )

Set value in the unget buffer. INDEX is the integer index which is greater than or equal to 0. VALUE is the value.

The values in ARRAY must be a (sub)class of:
HH::Unispool::Config::File::Token
set_num_got_buffer( NUMBER, VALUE )

Set value in the got buffer. NUMBER is the integer index which is greater than 0. VALUE is the value.

The values in ARRAY must be a (sub)class of:
HH::Unispool::Config::File::Token
set_num_unget_buffer( NUMBER, VALUE )

Set value in the unget buffer. NUMBER is the integer index which is greater than 0. VALUE is the value.

The values in ARRAY must be a (sub)class of:
HH::Unispool::Config::File::Token
set_unget_buffer(ARRAY)

Set the unget buffer absolutely. ARRAY is the list value. On error an exception Error::Simple is thrown.

The values in ARRAY must be a (sub)class of:
HH::Unispool::Config::File::Token
shift_got_buffer()

Shift and return an element off the got buffer. On error an exception Error::Simple is thrown.

shift_unget_buffer()

Shift and return an element off the unget buffer. On error an exception Error::Simple is thrown.

unget()

Unget the last token by moving it from the got buffer to the unget buffer. On error a Error::Simple exception is thrown.

unshift_got_buffer(ARRAY)

Unshift additional values on the got buffer. ARRAY is the list value. On error an exception Error::Simple is thrown.

The values in ARRAY must be a (sub)class of:
HH::Unispool::Config::File::Token
unshift_unget_buffer(ARRAY)

Unshift additional values on the unget buffer. ARRAY is the list value. On error an exception Error::Simple is thrown.

The values in ARRAY must be a (sub)class of:
HH::Unispool::Config::File::Token

SEE ALSO

HH::Unispool::Config, HH::Unispool::Config::DateFormat, HH::Unispool::Config::Entry, HH::Unispool::Config::Entry::Device, HH::Unispool::Config::Entry::Device::0, HH::Unispool::Config::Entry::Device::1, HH::Unispool::Config::Entry::Device::2, HH::Unispool::Config::Entry::Device::3, HH::Unispool::Config::Entry::Device::4, HH::Unispool::Config::Entry::Device::5, HH::Unispool::Config::Entry::Device::6, HH::Unispool::Config::Entry::Device::7, HH::Unispool::Config::Entry::Filter, HH::Unispool::Config::Entry::Numbered, HH::Unispool::Config::Entry::RemoteSystem, HH::Unispool::Config::Entry::RemoteSystem::3, HH::Unispool::Config::Entry::RemoteSystem::6, HH::Unispool::Config::Entry::RemoteSystem::7, HH::Unispool::Config::Entry::RemoteSystem::8, HH::Unispool::Config::Entry::System, HH::Unispool::Config::ExecPri, HH::Unispool::Config::File::Token, HH::Unispool::Config::File::Token::Comment, HH::Unispool::Config::File::Token::Comment::Cs, HH::Unispool::Config::File::Token::Comment::Date, HH::Unispool::Config::File::Token::Comment::Device, HH::Unispool::Config::File::Token::Comment::Filter, HH::Unispool::Config::File::Token::Comment::Group, HH::Unispool::Config::File::Token::Comment::Head, HH::Unispool::Config::File::Token::Comment::Misc, HH::Unispool::Config::File::Token::Comment::NetDesc, HH::Unispool::Config::File::Token::Comment::RSys, HH::Unispool::Config::File::Token::Comment::Scope, HH::Unispool::Config::File::Token::Comment::Tail, HH::Unispool::Config::File::Token::Factory, HH::Unispool::Config::File::Token::Numbered, HH::Unispool::Config::File::Token::Numbered::Device, HH::Unispool::Config::File::Token::Numbered::Device::0, HH::Unispool::Config::File::Token::Numbered::Device::1, HH::Unispool::Config::File::Token::Numbered::Device::2, HH::Unispool::Config::File::Token::Numbered::Device::3, HH::Unispool::Config::File::Token::Numbered::Device::4, HH::Unispool::Config::File::Token::Numbered::Device::5, HH::Unispool::Config::File::Token::Numbered::Device::6, HH::Unispool::Config::File::Token::Numbered::Device::7, HH::Unispool::Config::File::Token::Numbered::Device::Group, HH::Unispool::Config::File::Token::Numbered::Device::Info, HH::Unispool::Config::File::Token::Numbered::Device::P, HH::Unispool::Config::File::Token::Numbered::Network, HH::Unispool::Config::File::Token::Numbered::System, HH::Unispool::Config::File::Token::Numbered::System::3, HH::Unispool::Config::File::Token::Numbered::System::6, HH::Unispool::Config::File::Token::Numbered::System::7, HH::Unispool::Config::File::Token::Numbered::System::8, HH::Unispool::Config::File::Token::Numbered::System::Info, HH::Unispool::Config::File::Token::Numbered::X, HH::Unispool::Config::File::Token::Unnumbered, HH::Unispool::Config::File::Token::Unnumbered::Bcs, HH::Unispool::Config::File::Token::Unnumbered::CSN, HH::Unispool::Config::File::Token::Unnumbered::Cs, HH::Unispool::Config::File::Token::Unnumbered::CsBcs, HH::Unispool::Config::File::Token::Unnumbered::Filter, HH::Unispool::Config::File::Token::Unnumbered::Host, HH::Unispool::Config::File::Token::Unnumbered::Misc, HH::Unispool::Config::FilterType, HH::Unispool::Config::OS, HH::Unispool::Config::Scope

BUGS

None known (yet.)

HISTORY

First development: February 2003 Last update: September 2003

AUTHOR

Vincenzo Zocca

COPYRIGHT

Copyright 2003 by Vincenzo Zocca

LICENSE

This file is part of the HH::Unispool::Config module hierarchy for Perl by Vincenzo Zocca.

The HH::Unispool::Config module hierarchy is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

The HH::Unispool::Config module hierarchy is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the HH::Unispool::Config module hierarchy; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA