trusty (3) Lire::ReportConfig.3pm.gz

Provided by: lire-devel-doc_2.1.1-2.1_all bug

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 (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.