NAME¶
Lire::Subreport - Interface to a Lire subreport.
SYNOPSIS¶
use Lire::ReportParser::ReportBuilder;
my $parser = new Lire::ReportParser::ReportBuilder;
my $report = $parser->parse( "report.xml" );
foreach my $s ( $report->sections() ) {
print "Section: '", $s->title(), "\n\n";
foreach my $r ( $s->subreports() ) {
print "Subreport ", $r->title(), " has ", scalar $r->entries(),
" entries\n";
}
}
DESCRIPTION¶
This module offers an API to the subreports included in the sections of a Lire's
report.
This object has all the methods that the
Lire::Report::Group(3pm) object
offers. You'll find more information on to access the data contained in a
subreport in that man page.
CONSTRUCTORS¶
new( $superservice, $type)¶
Creates a new Lire::Report::Subreport object. The $superservice parameter and
$type parameters defines the report specification which was used to generate
this subreport's data.
new_missing( $superservice, $type, [$reason])¶
Creates a new Lire::Report::Subreport object marked as missing. The
$superservice parameter and $type parameters defines the report specification
which was used to generate this subreport's data. The $reason parameter sets
the reason why this subreport is missing.
OBJECT METHODS¶
id( [ $new_id ] )¶
Returns (and optionnally change) the id of this subreport. The subreport's ID
uniquely identify it in its Report. Subreports with the same ID will be merged
together.
is_missing()¶
Returns true if this subreport was marked as missing in the XML file. A missing
subreport is a subreport which was present in the report configure file but
which was marked as missing in the XML report. This happens when the report
specification requires fields that weren't available in the DLF files
generated. It can also happen when an error occurs in the report generation
process.
missing_reason()¶
Reports why the subreport is missing. This will be undefined when the subreport
is not missing.
superservice()¶
Returns the superservice of this subreport. This is the superservice that
defined the report specification from which the subreport was generated.
type()¶
Returns the type of this subreport. This is the ID of the report specification
that was used to generate this subreport.
schemas( [ $schema, ... ] )¶
Returns the schemas used by this Subreport.
field_schema( $field )¶
Returns the schema which contain field $field. Returns undef if this name isn't
defined in any schema.
chart_configs()¶
Returns an array reference containing Lire::Report::ChartConfig objects
specifying the charts that should be generated from this Subreport.
add_chart_config( $chart_config )¶
Adds a Lire::Report::ChartConfig object specifying a chart that should be
generated from this Subreport's data.
title( [$title] )¶
Returns the subreport's title.
If the $title is parameter is set, the subreport's title will be set to this new
value.
description( [$new_desc] )¶
Returns this subreport's description. The description is encoded in DocBook XML.
If the $description parameter is set, this method will set this subreport's
description to this new value. If the $description parameter is undef, that
description will be removed.
table_info( [$table_info] )¶
Returns the top-level Lire::Report::TableInfo object describing this table
layout. If $table_info parameter is set, the subreport table info will be set
to this object.
nrows()¶
Returns the number of rows in the table.
last_row_idx()¶
Returns the index of the last row of data.
getrow_by_idx( $index )¶
Returns an array reference containing row 'idx' of the subreport data. A row
will contain all the values (categorical and numerical) that would appear on
the same row. When an entry is made of categorical variables plus nested
groups, the group's summary values will appear on the same row than the
categorical variable.
Each value is the hash reference that is returned by
Entry::data_by_name() for that column and it is in the row at the
column's index.
getrows()¶
Returns all rows contained in the subreport. This method is useful for rendering
the subreport table.
finalize()¶
This method should be called after all entries were added. It assign row-idx and
computes column width and statistics.
SEE ALSO¶
Lire::ReportParser::ReportBuilder(3pm)
Lire::Report::Section(3pm)
Lire::Report::Report(3pm)
Lire::Report::Entry(3pm),
Lire::Report::Group(3pm),
Lire::Report::ChartConfig(3pm)
VERSION¶
$Id: Subreport.pm,v 1.46 2006/07/23 13:16:31 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.
AUTHOR¶
Francis J. Lacoste <flacoste@logreport.org>
POD ERRORS¶
Hey!
The above document had some coding errors, which are explained
below:
- Around line 206:
- =cut found outside a pod block. Skipping to next
block.