ReportSpec(3pm)

πŸ“¦ version 2.1.1, in arch rolling

πŸ’… ReportSpec β€” the Lire::ReportSpec era

ok so real talk: this is the ReportSpec page from LogReport's Lire Documentation, section 3pm (Perl module docs, bestie). It's the API to the XML report specifications, and honestly it's giving backstage-pass energy. Come with me ✨

✨ SYNOPSIS ✨

use Lire::ReportSpec;

that's it. that's the whole vibe. one line and you're in πŸŽ€

🌸 DESCRIPTION 🌸

This page is split into two little friend groups: the meta information methods (the ones that ask questions about specs) and the object methods (the ones that actually do stuff to a spec). Let's go πŸ’…


πŸ” META INFORMATION METHODS πŸ”

  • list_specs( $superservice ) β€” hands you back an array reference stuffed with all the report specification types that are available for that $superservice. it's giving "show me the menu" energy πŸ“
  • has_spec( $superservice, $type ) β€” returns true if a $type specification exists for the $superservice. a little vibe check, if you will ✨

πŸ’– OBJECT METHODS πŸ’–

  • subreport_id( [ $new_subreport_id ] ) β€” returns the id that'll get attached to the Subreport generated by this spec β€” and if you pass $new_subreport_id, it optionally changes it too. glow-up optional, king πŸ‘‘
  • chart_configs() β€” returns an array reference holding the Lire::Report::ChartConfig objects. those bad boys specify which charts should be generated when the Lire::Report::Subrpeport object (yes, the typo in the method's doc is canon, we don't touch it) specified by this object gets formatted. charts are the main character here, fr fr πŸ“Š
  • add_chart_config( $chart_config ) β€” adds a Lire::Report::ChartConfig object that should be added to the Lire::Report::Subreport object specified by this object. yes, that sentence has a lot of "objects", no, we're not mad at it πŸ’€
  • filter_spec( [ $new_filter_spec ] ) β€” returns the Lire::FilterExpr that should be applied to create the Lire::Report::Subreport specified by this object, and optionally changes it if you hand it $new_filter_spec. heads up bestie: this is undef if no filtering should be applied πŸ™ˆ
  • calc_spec( [ $new_aggregator ] ) β€” returns the Lire::Aggregator that should be used to create the Lire::Report::Subreport specified by this object β€” and optionally changes it too. number-crunching szn πŸ”₯
  • mark_missing( $reason ) β€” flags that the report generated by this report specification should be marked as missing. the $reason param is literally just there to explain why the subreport is gonna be missing. receipts, basically 🧾
  • is_missing() β€” returns true if the subreport generated by this report specification should be marked missing. it's giving wellness check 🌸
  • set_store( $store ) β€” sets the DLF store that this ReportSpec will be generated upon when create_subreport() gets called. set the stage, bestie 🎭
  • create_subreport() β€” builds a Lire::Report::Subreport object based on this report specification. and oop β€” it'll be a missing subreport if mark_missing() was ever called. it's called by Lire::ReportSection::create_report_section(), so like, know your caller iykyk πŸ’…
  • create_table_info() β€” returns a Lire::Report::TableInfo object that describes the table generated by a subreport of this type. table setting, but make it data ✨

🌈 SEE ALSO 🌈

go read those next, bestie, they're the lore πŸ¦‹


πŸ‘‘ AUTHOR πŸ‘‘

Francis J. Lacoste <flacoste@logreport.org> β€” an absolute icon, we stan 🫢

⭐ VERSION ⭐

$Id: ReportSpec.pm,v 1.59 2006/07/23 13:16:30 vanbaal Exp $

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.

ok so that's a whole lot of legalese, but the tl;dr is: it's free software under the GNU GPL v2-or-later, and there's no warranty at all β€” so don't come for the LogReport girlies if something breaks 😭

and that's the whole page, bestie! this edition is from Lire 2.1.1, dated 2025-09-28 β€” so yeah, she's vintage but she still slays πŸ’œβœ¨ go forth and spec your reports 🧚

πŸ“¦ where this page comes from