NAME¶
Lire::ReportConfig - API to the report configuration file
SYNOPSIS¶
use Lire::ReportConfig;
my $templates = Lire::ReportConfig->templates();
if ( Lire::ReportConfig->has_template( 'www_default' ) ) {
my $report_cfg = Lire::ReportConfig->template( 'www_default' )->as_value();
my $report = $report_cfg->generate_report( $report );
}
DESCRIPTION¶
This class represents report configurations. Report configurations are stored as
an XML configuration using the Lire::Report::ReportSpec configuration type.
TEMPLATES¶
Template reports are configuration specification files found in the directories
specified by the 'lr_templates_path' configuration variable.
templates()¶
Returns an array reference containing the names of all defined templates.
has_template( $name )¶
Returns true if there is a template named $name available.
template( $name )¶
Returns a Lire::Config::Object defining the template ReportConfig named $name.
Its
spec() method would return a Lire::Config::ReportSpec object and
its
as_value() method would instantiate a Lire::ReportConfig object.
CONSTRUCTORS¶
new()¶
This creates a new empty Lire::ReportConfig object.
The created report configuration object doesn't contain any section, report or
filter specifications.
new_from_file( $superservice, $report_cfg )¶
This will create a new report configuration object for the $superservice
superservice based on the report configuration file $report_cfg.
OBJECT METHODS¶
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.
title( [ $new_title ] )¶
Returns (and optionnally changes) the title that will be assigned to the report.
schemas()¶
Returns an array reference containing the name of the schemas used in this
report.
sections()¶
Return's this report configuration's sections as an array of Lire::Section
objects.
add_section( $section )¶
Adds a section to this report configuration. The $section parameter should be a
Lire::ReportSection object.
merge_filters()¶
Calling this method will make sure that all report specifications take into
account their section's filter specification.
This method will modify all report specifications. After this their object
representation won't be identical to the one in the XML report specification.
print( [$fh] )¶
Prints the report configuration on the $fh filehandle. If the $fh parameter is
omitted, the report configuration will be printed on STDOUT.
create_report( $timespan_start, $timespan_end )¶
Returns a Lire::Report object based on this report's configuration file. The
$timespan_start and $timespan_end attribute will be used to initiate the
Report object.
Used when generating an XML report from a DLF source, and when merging XML
reports.
The real job is delegated to
Lire::ReportSection::create_report_section().
create_analyser_streams( $store )¶
This method will make sure that a DlfStream is available in the Lire::DlfStore
$store 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.
generate_report( $store )¶
Generates a Lire::Report from this report configuration. The report is computed
using the streams in the Lire::DlfStore $store.
merge_report_files( @report_files )¶
Generate a new Lire::Report based on this report configuration by merging XML
reports. Every report spec contained in the configuration will be the result
of the merging of all the subreports having the same id.
SEE ALSO¶
Lire::ReportSection(3pm),
Lire::ReportSpec(3pm),
Lire::FilterSpec(3pm)
Lire::Report(3pm)
AUTHOR¶
Francis J. Lacoste <flacoste@logreport.org>
VERSION¶
$Id: ReportConfig.pm,v 1.38 2006/07/23 13:16:29 vanbaal Exp $
COPYRIGHT¶
Copyright (C) 2002, 2004 Stichting LogReport Foundation LogReport@LogReport.org
This file is part of Lire.
Lire 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.
This program 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
this program (see COPYING); if not, check with
http://www.gnu.org/copyleft/gpl.html.