NAME Data::MARC::Validator::Report - Data object for MARC validator report. SYNOPSIS use Data::MARC::Validator::Report; my $obj = Data::MARC::Validator::Report->new(%params); my $datetime = $obj->datetime; my $plugins_ar = $obj->plugins; METHODS "new" my $obj = Data::MARC::Validator::Report->new(%params); Constructor. * "datetime" Datetime of report. Must be a DataTime instance. Parameter is required. * "plugins" List of plugins data objects. Each one must be a Data::MARC::Validator::Report::Plugin instance. Default value is []. Returns instance of object. "datetime" my $datetime = $obj->datetime; Get datetime of report. Returns DateTime object. "plugins" my $plugins_ar = $obj->plugins; Get plugin reports. Return reference to array with Data::MARC::Validator::Report::Plugin objects. ERRORS new(): From Mo::utils: Parameter 'datetime' is required. Parameter 'datetime' must be a 'DateTime' object. Value: %s Reference: %s From Mo::utils::Array: Parameter 'plugins' must be a array. Value: %s Reference: %s Parameter 'plugins' with array must contain 'Data::MARC::Validator::Report::Plugin' objects. Value: %s Reference: %s EXAMPLE use strict; use warnings; use Data::Printer; use Data::MARC::Validator::Report; use Data::MARC::Validator::Report::Error; use Data::MARC::Validator::Report::Errors; use Data::MARC::Validator::Report::Plugin; use DateTime; # Create data object for validator report. my $report = Data::MARC::Validator::Report->new( 'datetime' => DateTime->now, 'plugins' => [ Data::MARC::Validator::Report::Plugin->new( 'errors' => [ Data::MARC::Validator::Report::Errors->new( 'errors' => [ Data::MARC::Validator::Report::Error->new( 'error' => 'Error #1', 'params' => { 'key' => 'value', }, ), Data::MARC::Validator::Report::Error->new( 'error' => 'Error #2', 'params' => { 'key' => 'value', }, ), ], 'filters' => ['filter1', 'filter2'], 'record_id' => 'id1', ), ], 'module_name' => 'MARC::Validator::Plugin::Foo', 'name' => 'foo', 'version' => '0.01', ), ], ); # Dump out. p $report; # Output: # Data::MARC::Validator::Report { # parents: Mo::Object # public methods (4): # BUILD # Mo::utils: # check_isa, check_required # Mo::utils::Array: # check_array_object # private methods (0) # internals: { # datetime 2026-02-22T11:16:24 (DateTime), # plugins [ # [0] Data::MARC::Validator::Report::Plugin # ] # } # } DEPENDENCIES Mo, Mo::utils, Mo::utils::Array. REPOSITORY AUTHOR Michal Josef Špaček LICENSE AND COPYRIGHT © 2025-2025 Michal Josef Špaček BSD 2-Clause License ACKNOWLEDGEMENTS Development of this software has been made possible by institutional support for the long-term strategic development of the National Library of the Czech Republic as a research organization provided by the Ministry of Culture of the Czech Republic (DKRVO 2024–2028), Area 11: Linked Open Data. VERSION 0.01