package OpenILS::Application::Trigger::ModLoader;
use UNIVERSAL::require;
+sub prefix { return 'OpenILS::Application::Trigger' }
+
sub new {
my $class = shift;
$class = ref($class) || $class;
my $loaded = $m->use;
if (!$loaded) {
- $builtin_m = "OpenILS::Application::Trigger::$m";
+ $builtin_m = $self->prefix . "::$m";
$loaded = $builtin_m->use;
if (!$loaded) {
if (!$loaded) {
$h = $self->handler;
- my $builtin_m = "OpenILS::Application::Trigger::$m";
+ $builtin_m = $self->prefix . "::$m";
$loaded = $m->use;
$m = $builtin_m if ($loaded);
return $self;
};
+package OpenILS::Application::Trigger::ModRunner::Collector;
+use base 'OpenILS::Application::Trigger::ModRunner';
+sub prefix { return 'OpenILS::Application::Trigger::Collector' }
+
+package OpenILS::Application::Trigger::ModRunner::Validator;
+use base 'OpenILS::Application::Trigger::ModRunner';
+sub prefix { return 'OpenILS::Application::Trigger::Validator' }
+
+package OpenILS::Application::Trigger::ModRunner::Reactor;
+use base 'OpenILS::Application::Trigger::ModRunner';
+sub prefix { return 'OpenILS::Application::Trigger::Reactor' }
+
+package OpenILS::Application::Trigger::ModRunner::Cleanup;
+use base 'OpenILS::Application::Trigger::ModRunner';
+sub prefix { return 'OpenILS::Application::Trigger::Cleanup' }
+
package OpenILS::Application::Trigger::ModStackRunner;
use base 'OpenILS::Application::Trigger::ModRunner';