Bug 14939: Modularize OAI Server existing classes
[koha.git] / Koha / OAI / Server / Description.pm
1 # Copyright Tamil s.a.r.l. 2008-2015
2 # Copyright Biblibre 2008-2015
3 #
4 # This file is part of Koha.
5 #
6 # Koha is free software; you can redistribute it and/or modify it
7 # under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 3 of the License, or
9 # (at your option) any later version.
10 #
11 # Koha is distributed in the hope that it will be useful, but
12 # WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License
17 # along with Koha; if not, see <http://www.gnu.org/licenses>.
18
19 package Koha::OAI::Server::Description;
20
21 use Modern::Perl;
22 use HTTP::OAI;
23 use HTTP::OAI::SAXHandler qw/ :SAX /;
24
25
26 sub new {
27     my ( $class, %args ) = @_;
28
29     my $self = {};
30
31     if(my $setDescription = $args{setDescription}) {
32         $self->{setDescription} = $setDescription;
33     }
34     if(my $handler = $args{handler}) {
35         $self->{handler} = $handler;
36     }
37
38     bless $self, $class;
39     return $self;
40 }
41
42
43 sub set_handler {
44     my ( $self, $handler ) = @_;
45
46     $self->{handler} = $handler if $handler;
47
48     return $self;
49 }
50
51
52 sub generate {
53     my ( $self ) = @_;
54
55     g_data_element($self->{handler}, 'http://www.openarchives.org/OAI/2.0/', 'setDescription', {}, $self->{setDescription});
56
57     return $self;
58 }
59
60 1;