[Bio] / WebApplication / DataHandler.pm Repository:
ViewVC logotype

Annotation of /WebApplication/DataHandler.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (view) (download) (as text)

1 : paarmann 1.1 package DataHandler;
2 :    
3 :     # DataHandler - abstract data handler used by the web application
4 :    
5 :     # $Id$
6 :    
7 :     use strict;
8 :     use warnings;
9 :    
10 :    
11 :     =pod
12 :    
13 :     =head1 NAME
14 :    
15 :     DataHandler - abstract data handler
16 :    
17 :     =head1 DESCRIPTION
18 :    
19 :     This module is the abstract DataHandler class used by the web application
20 :     framework. A data handler is a wrapper to retrieve a certain data source.
21 :    
22 :     Using a data handler is done by requesting the handle from the application.
23 :     Depending on the type of data this may be a PPO database or a FIG/FIGV
24 :     object.
25 :    
26 :     =head1 METHODS
27 :    
28 :     =over 4
29 :    
30 :     =item * B<new> (I<application>)
31 :    
32 :     Creates a new instance of the DataHandler object. The constructor requires
33 :     a reference to the web application object.
34 :    
35 :     =cut
36 :    
37 :     sub new {
38 :     my ($class, $application) = @_;
39 :    
40 :     # check application
41 :     unless (ref $application and $application->isa("WebApplication")) {
42 :     die "Invalid application in __PACKAGE__ new.";
43 :     }
44 :    
45 :     my $self = { 'application' => $application,
46 :     };
47 :     bless $self, $class;
48 :    
49 :     return $self;
50 :     }
51 :    
52 :    
53 :     =pod
54 :    
55 :     =item * B<application> ()
56 :    
57 :     Returns the reference to the application object
58 :    
59 :     =cut
60 :    
61 :     sub application {
62 :     return $_[0]->{'application'};
63 :     }
64 :    
65 :    
66 :     =pod
67 :    
68 :     =item * B<handle> ()
69 :    
70 :     Returns the enclosed data handle
71 :    
72 :     =cut
73 :    
74 :     sub handle {
75 :     die "Abstract method 'handle' must be implemented in __PACKAGE__.\n";
76 :     }
77 :    
78 :    
79 :    
80 :     1;

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3