NAME
DTA::CAB::Chain::Multi - serial multi-analyzer pipelines with name-based dispatch
SYNOPSIS
use DTA::CAB::Chain::Multi;
##========================================================================
## Constructors etc.
$obj = CLASS_OR_OBJ->new(%args);
##========================================================================
## Methods: Chain selection
$ach = $ach->setupChains();
$ach = $ach->ensureChain();
\@analyzers = $ach->chain();
\@analyzers = $ach->subAnalyzers();
##========================================================================
## Methods: Persistence: Perl
@keys = $class_or_obj->noSaveKeys();
##========================================================================
## Methods: XML-RPC
\%analyzerHash = $anl->xmlRpcAnalyzers();
DESCRIPTION
DTA::CAB::Chain::Multi is an abstract DTA::CAB::Chain subclass which supports user selection from a pre-defined set of named processing chains at runtime.
Constructors etc.
- new
-
$obj = CLASS_OR_OBJ->new(%args);
%$obj, %args
chains => undef, ##-- ($chainName=>\@chainAnalyzers,...): see setupChains() method chain => undef, ##-- default chain: see setupChains() method
Methods: Chain selection
- setupChains
-
$ach = $ach->setupChains();
Setup default named sub-chains in $ach->{chains}; should also set default chain $ach->{chain}.
Default implementation just sets ($key=>[$ach->{$key}]) for each analyzer value in %$ach, and sets default chain to sorted list of analyzer values in %$ach.
Subclasses will probably need to override this method.
- ensureChain
-
$ach = $ach->ensureChain();
Checks for $ach->{chain}, calls $ach->setupChains() if needed.
- chain
-
\@analyzers = $ach->chain(); \@analyzers = $ach->chain(\%opts)
Get selected analyzer chain.
Override calls setupChains() if $ach->{chain} is empty
Override checks for $opts{chain} and returns $ach->{chains}{ $opts{chain} } if available (runtime user chain selection).
OVERRIDE splits $opts{chain} on /[\,\s]+/ and constructs chain (runtime construction of user-specified chain).
- subAnalyzers
-
\@analyzers = $ach->subAnalyzers(); \@analyzers = $ach->subAnalyzers(\%opts)
Returns a list of all sub-analyzers. Override returns all defined analyzers in any chain in $ach->{chains} or in values(%$ach).
Methods: Persistence: Perl
- noSaveKeys
-
@keys = $class_or_obj->noSaveKeys();
Returns list of keys not to be saved Override appends {chain},{chains} to superclass list.
Methods: XML-RPC
- xmlRpcAnalyzers
-
\%analyzerHash = $anl->xmlRpcAnalyzers(); \%analyzerHash = $anl->xmlRpcAnalyzers($prefix)
Returns pseudo hash for use with DTA::CAB::Server::XmlRpc 'as' attribute.
AUTHOR
Bryan Jurish <moocow@cpan.org>
COPYRIGHT AND LICENSE
Copyright (C) 2010-2019 by Bryan Jurish
This package is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.24.1 or, at your option, any later version of Perl 5 you may have available.
SEE ALSO
dta-cab-analyze.perl(1), DTA::CAB::Chain::DTA(3pm), DTA::CAB::Chain(3pm), DTA::CAB::Analyzer(3pm), DTA::CAB(3pm), perl(1), ...
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 459:
You forgot a '=back' before '=head1'