DlfCategoriser(3pm)

NAME
Lire::DlfCategoriser - Base class for analysers which produce extended DLF records.

SYNOPSIS
  use base qw/ Lire::DlfCategoriser /;

  sub categorise {
    my ( $self, $dlf ) = @_;

    # Adds the extended field to DLF.

    return;
  }

DESCRIPTION
This package defines a base class that can be use for Lire::DlfAnalyser which writes to an ExtendedSchema. The categoriser only have to implement the categorise() method instead of the more generic analyse().

META INFORMATION METHODS
The Lire::DlfCategoriser should implement the same meta-information methods than the Lire::DlfAnalyser (name(), src_schema(), dst_schema(), title(), description()).

IMPLEMENTATION METHODS
The categoriser does its job using the initialise() and categorise() methods.

  analyse( $process, $config )
The Lire::DlfCategoriser implements the analyse() method. It will run the query on the src_schema() using the correct filter and will call categorise() on each DLF returned. The extended fiels will then be written to dst_schema(). Errors should be reported by dying.

  initialise( $config )
This method is called before the categorise() method is called.

The $config parameter contains configuration data that was specified in the AnalysisJob for that analyser. To register configuration specification for you DlfCategoriser, you just need to define a configuration specification under the name analyser_name_properties. This should be either a RecordSpec or ObjectSpec.

  categorise( $dlf )
Called one for each DLf records that should be categorised. The categoriser should add the extended fields directly to the $dlf hash reference.

SEE ALSO
Lire::DlfAnalyserProcess(3pm), Lire::DlfStore(3pm), Lire::PluginManager(3pm), Lire::DlfAnalyser(3pm)

AUTHOR
Francis J. Lacoste <flacoste@logreport.org>

VERSION
$Id: DlfCategoriser.pm,v 1.4 2004/06/07 17:02:08 flacoste Exp $

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. 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 or write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.