NAME¶
Lire::Group - Base class for implementation of the group aggregator
SYNOPSIS¶
use Lire::Group;
DESCRIPTION¶
This module is the base class for implementation of the group aggregator. This
aggregator will split the DLF records in groups having the same key. The key
is made up of one or more several non-numerical fields. The number of keys to
keep in the report can be configured through the limit attribute. The keys can
also be sorted using the sort attribute.
CONSTRUCTOR¶
new( %params )¶
Creates a new instance of a group aggregator. In addition to the normal report
operator parameters, the limit attribute can be initialized at creation time.
METHODS¶
limit( [$new_limit] )¶
Returns the number of keys to display in the report. This can be an integer or
the name of one of the report specification parameter (when it starts by $).
The limit attribute can be changed by passing a $new_limit parameter.
sort_fields( [$new_sort_fields] )¶
Returns fields and/or operator values which are going to be used to sort the
entries generated by this aggregator. This is an array reference containing
group field names and/or operator's name.
The sorting fields can be changed by passing a new array reference.
group_fields( [$new_fields] )¶
Returns as a reference to an array of Lire::GroupField objects the DLF fields
that are used to group the records.
If the $new_fields is set, the DLF fields used to group the records will be
changed. This parameter should be a reference to an array of Lire::GroupField
objects.
binary_insert¶
Recursive function that uses a binary search to insert $item in $array using
$cmp as comparison operator. $first_idx and $max_idx specify the boundaries of
the search. Search ends when $first_idx == $max_idx or when $sort_key sorts at
or before $first_idx or at or after $max_idx
SEE ALSO¶
Lire::ReportSpec(3pm), Lire::GroupField(3pm),
Lire::ReportOperator(3pm)
AUTHORS¶
Francis J. Lacoste <flacoste@logreport.org>
Wolfgang Sourdeau <wsourdeau@logreport.org>
VERSION¶
$Id: Group.pm,v 1.36 2006/07/23 13:16:29 vanbaal Exp $
COPYRIGHT¶
Copyright (C) 2001-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.