.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.14) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "ReportConfig 3pm" .TH ReportConfig 3pm "2006-07-23" "Lire 2.1.1" "LogReport's Lire Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Lire::ReportConfig \- API to the report configuration file .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& use Lire::ReportConfig; \& \& my $templates = Lire::ReportConfig\->templates(); \& if ( Lire::ReportConfig\->has_template( \*(Aqwww_default\*(Aq ) ) { \& my $report_cfg = Lire::ReportConfig\->template( \*(Aqwww_default\*(Aq )\->as_value(); \& my $report = $report_cfg\->generate_report( $report ); \& } .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This class represents report configurations. Report configurations are stored as an \s-1XML\s0 configuration using the Lire::Report::ReportSpec configuration type. .SH "TEMPLATES" .IX Header "TEMPLATES" Template reports are configuration specification files found in the directories specified by the 'lr_templates_path' configuration variable. .SS "\fItemplates()\fP" .IX Subsection "templates()" Returns an array reference containing the names of all defined templates. .ie n .SS "has_template( $name )" .el .SS "has_template( \f(CW$name\fP )" .IX Subsection "has_template( $name )" Returns true if there is a template named \f(CW$name\fR available. .ie n .SS "template( $name )" .el .SS "template( \f(CW$name\fP )" .IX Subsection "template( $name )" Returns a Lire::Config::Object defining the template ReportConfig named \f(CW$name\fR. Its \fIspec()\fR method would return a Lire::Config::ReportSpec object and its \fIas_value()\fR method would instantiate a Lire::ReportConfig object. .SH "CONSTRUCTORS" .IX Header "CONSTRUCTORS" .SS "\fInew()\fP" .IX Subsection "new()" This creates a new empty Lire::ReportConfig object. .PP The created report configuration object doesn't contain any section, report or filter specifications. .ie n .SS "new_from_file( $superservice, $report_cfg )" .el .SS "new_from_file( \f(CW$superservice\fP, \f(CW$report_cfg\fP )" .IX Subsection "new_from_file( $superservice, $report_cfg )" This will create a new report configuration object for the \&\f(CW$superservice\fR superservice based on the report configuration file \&\f(CW$report_cfg\fR. .SH "OBJECT METHODS" .IX Header "OBJECT METHODS" .ie n .SS "filename( [ $new_filename ] )" .el .SS "filename( [ \f(CW$new_filename\fP ] )" .IX Subsection "filename( [ $new_filename ] )" Returns (and optionanly changes) the filename from which this ReportConfig was loaded. It will return undef if the ReportConfig wasn't loaded from a file. .ie n .SS "title( [ $new_title ] )" .el .SS "title( [ \f(CW$new_title\fP ] )" .IX Subsection "title( [ $new_title ] )" Returns (and optionnally changes) the title that will be assigned to the report. .SS "\fIschemas()\fP" .IX Subsection "schemas()" Returns an array reference containing the name of the schemas used in this report. .SS "\fIsections()\fP" .IX Subsection "sections()" Return's this report configuration's sections as an array of Lire::Section objects. .ie n .SS "add_section( $section )" .el .SS "add_section( \f(CW$section\fP )" .IX Subsection "add_section( $section )" Adds a section to this report configuration. The \f(CW$section\fR parameter should be a Lire::ReportSection object. .SS "\fImerge_filters()\fP" .IX Subsection "merge_filters()" Calling this method will make sure that all report specifications take into account their section's filter specification. .PP This method will modify all report specifications. After this their object representation won't be identical to the one in the \s-1XML\s0 report specification. .SS "print( [$fh] )" .IX Subsection "print( [$fh] )" Prints the report configuration on the \f(CW$fh\fR filehandle. If the \f(CW$fh\fR parameter is omitted, the report configuration will be printed on \&\s-1STDOUT\s0. .ie n .SS "create_report( $timespan_start, $timespan_end )" .el .SS "create_report( \f(CW$timespan_start\fP, \f(CW$timespan_end\fP )" .IX Subsection "create_report( $timespan_start, $timespan_end )" Returns a Lire::Report object based on this report's configuration file. The \f(CW$timespan_start\fR and \f(CW$timespan_end\fR attribute will be used to initiate the Report object. .PP Used when generating an \s-1XML\s0 report from a \s-1DLF\s0 source, and when merging \s-1XML\s0 reports. .PP The real job is delegated to \fILire::ReportSection::create_report_section()\fR. .ie n .SS "create_analyser_streams( $store )" .el .SS "create_analyser_streams( \f(CW$store\fP )" .IX Subsection "create_analyser_streams( $store )" This method will make sure that a DlfStream is available in the Lire::DlfStore \f(CW$store\fR for each schema used by this report configuration. The stream will be created by running the first analyser which is able to generate the schema using exising streams. .ie n .SS "generate_report( $store )" .el .SS "generate_report( \f(CW$store\fP )" .IX Subsection "generate_report( $store )" Generates a Lire::Report from this report configuration. The report is computed using the streams in the Lire::DlfStore \f(CW$store\fR. .ie n .SS "merge_report_files( @report_files )" .el .SS "merge_report_files( \f(CW@report_files\fP )" .IX Subsection "merge_report_files( @report_files )" Generate a new Lire::Report based on this report configuration by merging \s-1XML\s0 reports. Every report spec contained in the configuration will be the result of the merging of all the subreports having the same id. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fILire::ReportSection\fR\|(3pm), \fILire::ReportSpec\fR\|(3pm), \&\fILire::FilterSpec\fR\|(3pm) \fILire::Report\fR\|(3pm) .SH "AUTHOR" .IX Header "AUTHOR" .Vb 1 \& Francis J. Lacoste .Ve .SH "VERSION" .IX Header "VERSION" \&\f(CW$Id:\fR ReportConfig.pm,v 1.38 2006/07/23 13:16:29 vanbaal Exp $ .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (C) 2002, 2004 Stichting LogReport Foundation LogReport@LogReport.org .PP This file is part of Lire. .PP Lire is free software; you can redistribute it and/or modify it under the terms of the \s-1GNU\s0 General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. .PP This program is distributed in the hope that it will be useful, but \s-1WITHOUT\s0 \s-1ANY\s0 \s-1WARRANTY\s0; without even the implied warranty of \&\s-1MERCHANTABILITY\s0 or \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0. See the \&\s-1GNU\s0 General Public License for more details. .PP You should have received a copy of the \s-1GNU\s0 General Public License along with this program (see \s-1COPYING\s0); if not, check with http://www.gnu.org/copyleft/gpl.html.