The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

HH::Unispool::Config::File::Token - Abstract class for line string tokens from UNISPOOL config files

SYNOPSIS

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

ABSTRACT

Abstract class for UNISPOOL config file tokens

DESCRIPTION

HH::Unispool::Config::File::Token is an abstract class for line string tokens from UNISPOOL config files. It offers a standard implementation of the new_from_string() constructor, interface methods to read/write token information from/to a string read_string() and write_string() and the input_line_number attribute.

EXPORT

By default nothing is exported.

frm

This tag contains printf() formats usefull for writing file tokens.

$USP_BCS_FRM

Format for B lines.

$USP_CFG_DEV_FRM

Format for * Device configuration for

$USP_CFG_GRP_FRM

Format for * Group configuration for lines.

$USP_CFG_MISC_FRM

Format for * Miscellaneous configuration items for lines.

$USP_CFG_RSYS_FRM

Format for * Remote system configuration for lines.

$USP_CS_FRM

Format for C lines.

$USP_CS_INFO_FRM

Format for * Configuration server info for lines.

$USP_D0_FRM

Format for type 0 D lines.

$USP_D1_FRM

Format for type 1 D lines.

$USP_D2_FRM

Format for type 2 D lines.

$USP_D3_FRM

Format for type 3 D lines.

$USP_D4_FRM

Format for type 4 D lines.

$USP_D5_FRM

Format for type 5 D lines.

$USP_D6_FRM

Format for type 6 D lines.

$USP_D7_FRM

Format for type 7 D lines.

$USP_DATE_FRM

Format for * Dump date lines.

$USP_FILTER_FRM

Format for F lines.

$USP_FILTER_INFO_FRM

Format for * Filter file info for lines.

$USP_G_FRM

Format for G lines.

$USP_H1_FRM

Format for H lines with only 1 field.

$USP_H2_FRM

Format for H lines with 2 fields.

$USP_HEAD_FRM

Format for * UNISPOOL <...> configuration dumped on host lines.

$USP_ID_FRM

Format for device I lines.

$USP_IS_FRM

Format for system I lines.

$USP_L_FRM

Format for L lines.

$USP_M_FRM

Format for M lines.

$USP_N2_FRM

Format for N lines with 2 fields.

$USP_N3_FRM

Format for N lines with 3 fields.

$USP_N5_FRM

Format for N lines with 5 fields.

$USP_ND_FRM

Format for device N lines.

$USP_PD_FRM

Format for device P lines.

$USP_S3_FRM

Format for type 3 S lines.

$USP_S6_FRM

Format for type 6 S lines.

$USP_S7_FRM

Format for type 7 S lines.

$USP_S8_FRM

Format for type 8 S lines.

$USP_SCOPE_FRM

Format for * Dump scope lines.

$USP_TAIL_FRM

Format for * End of configuration dumped on host lines.

$USP_X_FRM

Format for X lines.

rx

This tag contains regular expressions usefull for parsing file tokens.

$USP_BCS_RX

Regular expression to parse B lines.

$USP_CFG_DEV_RX

Regular expression to parse * Device configuration for lines.

$USP_CFG_GRP_RX

Regular expression to parse * Group configuration for lines.

$USP_CFG_MISC_RX

Regular expression to parse * Miscellaneous configuration items for lines.

$USP_CFG_RSYS_RX

Regular expression to parse * Remote system configuration for lines.

$USP_CS_INFO_RX

Regular expression to parse * Configuration server info for lines.

$USP_CS_RX

Regular expression to parse C lines.

$USP_D0_RX

Regular expression to parse type 0 D lines.

$USP_D1_RX

Regular expression to parse type 1 D lines.

$USP_D2_RX

Regular expression to parse type 2 D lines.

$USP_D3_RX

Regular expression to parse type 3 D lines.

$USP_D4_RX

Regular expression to parse type 4 D lines.

$USP_D5_RX

Regular expression to parse type 5 D lines.

$USP_D6_RX

Regular expression to parse type 6 D lines.

$USP_D7_RX

Regular expression to parse type 7 D lines.

$USP_DATE_RX

Regular expression to parse * Dump date lines.

$USP_FILTER_INFO_RX

Regular expression to parse * Filter file info for lines.

$USP_FILTER_RX

Regular expression to parse F lines.

$USP_G_RX

Regular expression to parse G lines.

$USP_HEAD_RX

Regular expression to parse * UNISPOOL <...> configuration dumped on host lines.

$USP_H_RX

Regular expression to parse H lines.

$USP_ID_RX

Regular expression to parse device I lines.

$USP_IS_RX

Regular expression to parse system I lines.

$USP_L_RX

Regular expression to parse L lines.

$USP_M_RX

Regular expression to parse M lines.

$USP_N_RX

Regular expression to parse N lines.

$USP_PD_RX

Regular expression to parse device P lines.

$USP_S3_RX

Regular expression to parse type 3 S lines.

$USP_S6_RX

Regular expression to parse type 6 S lines.

$USP_S7_RX

Regular expression to parse type 7 S lines.

$USP_S8_RX

Regular expression to parse type 8 S lines.

$USP_SCOPE_RX

Regular expression to parse * Dump scope lines.

$USP_TAIL_RX

Regular expression to parse * End of configuration dumped on host lines.

$USP_X_RX

Regular expression to parse X lines.

CONSTRUCTOR

new( [ OPT_HASH_REF ] )

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

Options for OPT_HASH_REF may include:

input_line_number

Passed to set_input_line_number().

new_from_string(LINE)

Creates a new object from the specified Unispool config file line string.

METHODS

get_input_line_number()

Returns the line number from from which the token is read.

read_string(LINE)

This is an interface method. Reads the Unispool config file token from a line string. LINE is a plain line string. On error an exception Error::Simple is thrown.

set_input_line_number(VALUE)

Set the line number from from which the token is read. VALUE is the value. On error an exception Error::Simple is thrown.

VALUE must match regular expression:
^\d*$
write_string()

This is an interface method. Returns a Unispool config file token line string.

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::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::File::Tokenizer, HH::Unispool::Config::FilterType, HH::Unispool::Config::OS, HH::Unispool::Config::Scope

BUGS

None known (yet.)

HISTORY

First development: January 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