---
name: "Lire::DlfCategoriser"
section: "3pm"
platform: "linux"
package: "lire"
version: "2.1.1-8"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Lire::DlfCategoriser"
---

# Lire::DlfCategoriser(3pm)

Base class for analysers which produce extended DLF records.

## 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.

### finalise( $config )

This method is called after all the DLF records were categorised.

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.

The default implementation does nothing.

## SEE ALSO

[**Lire::DlfAnalyserProcess**(3pm)](/Lire::DlfAnalyserProcess/3pm.md), [**Lire::DlfStore**(3pm)](/Lire::DlfStore/3pm.md), [**Lire::PluginManager**(3pm)](/Lire::PluginManager/3pm.md), [**Lire::DlfAnalyser**(3pm)](/Lire::DlfAnalyser/3pm.md)

## AUTHOR

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

## VERSION

`$Id:` DlfCategoriser.pm,v 1.6 2006/07/23 13:16:28 vanbaal 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.
