GroupInfo(3pm)

πŸ“¦ version 2.1.1, in arch rolling

πŸ’… GroupInfo(3pm) β€” LogReport's Lire Documentation

ok so this is the page for Lire::Report::GroupInfo, straight out of LogReport's Lire docs, and honestly? it's a little baddie. let's get into it πŸŽ€

✨ NAME ✨

Lire::Report::GroupInfo β€” the object that groups together columns created by the same aggregator. (yes there's a double period in the original title, she's quirky like that. periodt.)

✨ SYNOPSIS ✨

my $info = $subreport->group_info( 0 );
print "Group's name: ", $info->name(),   "\n";
print "Group's columns starts at: ", $info->index(), "\n";

like, grab your group info, print her name, print where her columns start. that's the whole vibe check πŸ¦‹

✨ DESCRIPTION ✨

okay so the Lire::Report::GroupInfo object is literally just a container that holds the ColumnInfo objects that were all created by the same aggregator. found family, but make it report metadata πŸ’–

🌸 CONSTRUCTOR 🌸

new( $name )

here's the thing β€” you don't just call new yourself, bestie. you create a new Lire::Report::GroupInfo object by calling the create_group_info() method on a Lire::Report::TableInfo object or on another Lire::Report::GroupInfo object. that's the move πŸ‘‘

πŸ‘‘ OBJECT METHODS πŸ‘‘

name()

returns the name of this group. and this name is actually useful β€” you can use it to find the aggregator (from the report specification) that's responsible for all the data held in this group. it's giving "who's your parent" energy πŸ”₯

row_idx()

returns the row index where this group's categorical column's labels should be displayed in the table header. yes, that's very specific and yes, she knows her place in the spreadsheet πŸ’…

max_row_idx()

ok so this one is listed right here between row_idx() and parent_group_info(), and ngl the original page doesn't say a single thing about what it does. she's mysterious. she's main character energy with no backstory. you get a name and that's it πŸ™ˆ

parent_group_info()

returns the GroupInfo that contains this GroupInfo β€” like, her mom group. and heads up: this will be undef for the top-level TableInfo object, because the top-level table has no parent. iconic orphan behaviour 😭

index()

returns the column's index in the table at which the columns of this group start. important: this will be undef until the group info object is actually added to a Lire::Subreport or another Lire::Group object. so don't be out here calling it early and getting confused 🫢

children()

returns, as an array, the Lire::Report::ColumnInfo and Lire::Report::GroupInfo objects contained in this group. all the kids, no discrimination πŸ’œ

info_by_index( $idx )

returns the ColumnInfo or GroupInfo that sits at index $idx among this GroupInfo's children. just hand her the number and she'll hand you the child πŸŽ€

group_children

returns, as an array, only the Lire::Report::GroupInfo objects contained in this GroupInfo. groups only. no columns allowed at this party 🌈

column_children

returns, as an array, only the Lire::Report::ColumnInfo objects contained in this GroupInfo. the columns get their own party. opposite energy, same energy πŸ’«

categorical_names()

returns the categorical columns' names as an array ref. short, sweet, slay πŸ“

create_column_info( $name, $class, $type, [$label] )

creates a brand new Lire::Report::ColumnInfo object as a child of this GroupInfo. the column info attributes get initialized based on $name, $class, $type and $label (that last one's optional, btw πŸ’…).

this will set the index of the ColumnInfo object β€” she knows exactly where she belongs.

returns the created ColumnInfo object. 🎁

create_group_info( $name )

creates a Lire::Report::GroupInfo as a child of this group β€” a little subgroup baby πŸ₯Ή this will also set the starting column index on the GroupInfo object. the $name parameter should contain the name of the report specification aggregator that's responsible for the content of this group.

returns the created GroupInfo object. literally the birth of a group πŸ’–

column_info_by_name( $name )

returns the Lire::Report::ColumnInfo object that has the name $name. and bestie she's thorough β€” this method searches in the current group as well as in its subgroups.

returns undef if the column isn't found. gone, not found, nothing there πŸ™ˆ

column_info_by_col_start( $col_idx )

returns the Lire::Report::ColumnInfo object that starts in column index $col_idx. again, she searches in the current group and in its subgroups. no stone unturned πŸ”

returns undef if the column isn't found in the current group.

group_info( $name )

returns the Lire::Report::GroupInfo object that has the name $name. this will be undef if it can't be found in this group info. no group, no result, that's the rule πŸ’€

πŸ”— SEE ALSO πŸ”—

go read those too, iykyk ⭐

πŸ“Œ VERSION πŸ“Œ

$Id: GroupInfo.pm,v 1.22 2006/07/23 13:16:31 vanbaal Exp $

✍️ AUTHOR ✍️

Francis J. Lacoste <flacoste@logreport.org> β€” ty king 🫢

Copyright (C) 2002 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.

⚠️ real talk for a sec: that "WITHOUT ANY WARRANTY" bit is all caps in the original for a reason β€” no warranty of any kind, not even implied merchantability or fitness for a particular purpose. read the license, bestie, it's important πŸ’œ

and that's the page!! 🌸 this was GroupInfo(3pm) from Lire 2.1.1, dated 2025-09-28 β€” mwah, no notes, she ate πŸ’…βœ¨

πŸ“¦ where this page comes from