XMLSpecListSpec(3pm)
π XMLSpecListSpec(3pm) β the vibes are very Lire::Config, bestie
okay so real quick, this is a page from LogReport's Lire Documentation (yes, that Lire β the 3pm perl module situation). Buckle up, it's a short one but it's lowkey iconic π
β¨ NAME β¨
Lire::Config::XMLSpecListSpec β literally just a list of XML specifications. that's it. that's the whole vibe. πΈ
π¦ DESCRIPTION π¦
So Lire::Config::TypeSpec already has a thing called ListSpec, right? Well this class? This class defines a special kind of ListSpec. Not like other girls π
The way it works: it overrides the has_component(), get(), component_names() and components() methods so that every XML report specification or filter specification is available. And the gag is β these specifications are created dynamically at runtime. not pre-baked, not sitting in a config file somewhere. born fresh, main character energy β¨
π new( 'name' => $name, 'type' => 'filters'|'reports )
Creates a new Lire::Config::XMLSpecListSpec object which will contain a list of report or filter specifications configuration. π«Ά
The type parameter is what decides whether a Lire::ReportSpec or a Lire::FilterSpec will be created β so like, pick your fighter. (yes the original docs spell it "creatd", we're all doing our best here π)
new( 'name' => $name, 'type' => 'filters'|'reports )
π§ type()
Returns the type of specification contained by this object. literally just tells you what's inside. no cap. β
π has_component( $name )
This spec returns true when $name is of the form superservice:id β and only if there's actually an available id specification defined in superservice. π
Otherwise? It returns false. Sorry bestie, that's the whole rule. π
π component_names()
Returns an array containing the configuration name of all available specifications. every single one. the whole roster. π
π₯ get( $name )
Returns an Lire::Config::ObjectSpec specification for the component named $name.
And this ObjectSpec is the one that will instantiate a Lire::ReportSpec or a Lire::FilterSpec of the appropriate type. so it's giving "middle management but make it useful" π
π components()
Returns an array containing all the Lire::Config::ObjectSpec defining the available specifications. yes, all of them. glutinous. we love to see it. π
π SEE ALSO π
Lire::Config::ReportSectionSpec(3pm)Lire::Config::ReportSpec(3pm)Lire::ReportSpec(3pm)Lire::FilterSpec(3pm)
go read those too, iykyk π¦
π VERSION π
$Id: XMLSpecListSpec.pm,v 1.8 2006/07/23 13:16:31 vanbaal Exp $
π AUTHOR π
Francis J. Lacoste <flacoste@logreport.org> β thank you for your service, king π«Ά
Β©οΈ COPYRIGHT Β©οΈ
Copyright (C) 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. Please see the GNU General Public License for more details. β οΈ (like fr fr, no promises, read the license)
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. π
okay and that's the whole page!! this was Lire 2.1.1, dated 2025-09-28 β periodt, we're done here π β¨ π¦
π¦ where this page comes from
- arch rolling: lire 2.1.1-8 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms