596c798ab1c62d04f2180a3cdae358ccd66114b7
[Evergreen.git] / Open-ILS / src / perlmods / OpenILS / Utils / ScriptRunner.pm
1 package OpenILS::Utils::ScriptRunner;
2 use strict; use warnings;
3 use OpenSRF::Utils::Logger qw(:logger);
4 use OpenILS::Utils::SpiderMonkey;
5
6 sub new {
7
8         my $class = shift;
9         my %params = @_;
10         $class = ref($class) || $class;
11
12         my $type = $params{type} || 'js';
13         my $thingy = OpenILS::Utils::SpiderMonkey->new( %params ) if( $type =~ /js/i );
14
15         if($thingy) { 
16                 $thingy->init; 
17                 return $thingy;
18
19         } else { 
20                 $logger->error("Unknown script type in OpenILS::Utils::ScriptRunner"); 
21         }
22         return undef;
23 }
24
25 sub init {$logger->error("METHOD NOT DEFINED"); }
26 sub context {$logger->error("METHOD NOT DEFINED"); }
27 # generic insertion method
28 sub insert {$logger->error("METHOD NOT DEFINED"); }
29 # generic retrieval method
30 sub retrieve {$logger->error("METHOD NOT DEFINED"); }
31 sub insert_fm { $logger->error("METHOD NOT DEFINED"); }
32 sub insert_hash { $logger->error("METHOD NOT DEFINED"); }
33 # loads an external script
34 sub load { $logger->error("METHOD NOT DEFINED"); }
35
36 # Runs an external script.
37 # @return 1 on success, 0 on failure
38 sub run { $logger->error("METHOD NOT DEFINED"); }
39 # load an external library
40 sub load_lib { $logger->error("METHOD NOT DEFINED"); }
41
42 1;