.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" 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 .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' '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 >0, 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. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Required to disable full justification in groff 1.23.0. .if n .ds AD l .\" ======================================================================== .\" .IX Title "Group 3pm" .TH Group 3pm 2025-09-28 "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::Group \- Base class for implementation of the group aggregator .SH SYNOPSIS .IX Header "SYNOPSIS" .Vb 1 \& use Lire::Group; .Ve .SH DESCRIPTION .IX Header "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. .SH CONSTRUCTOR .IX Header "CONSTRUCTOR" .ie n .SS "new( %params )" .el .SS "new( \f(CW%params\fP )" .IX Subsection "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. .SH METHODS .IX Header "METHODS" .SS "limit( [$new_limit] )" .IX Subsection "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 $). .PP The limit attribute can be changed by passing a \f(CW$new_limit\fR parameter. .SS "sort_fields( [$new_sort_fields] )" .IX Subsection "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\*(Aqs name. .PP The sorting fields can be changed by passing a new array reference. .SS "group_fields( [$new_fields] )" .IX Subsection "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. .PP If the \f(CW$new_fields\fR 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. .SS binary_insert .IX Subsection "binary_insert" Recursive function that uses a binary search to insert \&\f(CW$item\fR in \f(CW$array\fR using \f(CW$cmp\fR as comparison operator. \&\f(CW$first_idx\fR and \f(CW$max_idx\fR specify the boundaries of the search. Search ends when \f(CW$first_idx\fR == \f(CW$max_idx\fR or when \f(CW$sort_key\fR sorts at or before \f(CW$first_idx\fR or at or after \f(CW$max_idx\fR .SH "SEE ALSO" .IX Header "SEE ALSO" .Vb 2 \& Lire::ReportSpec(3pm), Lire::GroupField(3pm), \& Lire::ReportOperator(3pm) .Ve .SH AUTHORS .IX Header "AUTHORS" .Vb 2 \& Francis J. Lacoste \& Wolfgang Sourdeau .Ve .SH VERSION .IX Header "VERSION" \&\f(CW$Id:\fR Group.pm,v 1.36 2006/07/23 13:16:29 vanbaal Exp $ .SH COPYRIGHT .IX Header "COPYRIGHT" Copyright (C) 2001\-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 GNU 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 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. .PP 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.