File Coverage

blib/lib/Biblio/ILL/ISO/ILLServiceType.pm
Criterion Covered Total %
statement 19 20 95.0
branch 2 4 50.0
condition 1 3 33.3
subroutine 5 5 100.0
pod 1 1 100.0
total 28 33 84.8


line stmt bran cond sub pod time code
1             package Biblio::ILL::ISO::ILLServiceType;
2              
3             =head1 NAME
4              
5             Biblio::ILL::ISO::ILLServiceType
6              
7             =cut
8              
9 4     4   648 use Biblio::ILL::ISO::ILLASNtype;
  4         10  
  4         118  
10 4     4   21 use Biblio::ILL::ISO::ENUMERATED;
  4         7  
  4         75  
11              
12 4     4   21 use Carp;
  4         5  
  4         376  
13              
14             =head1 VERSION
15              
16             Version 0.01
17              
18             =cut
19              
20             our $VERSION = '0.01';
21             #---------------------------------------------------------------------------
22             # Mods
23             # 0.01 - 2003.07.15 - original version
24             #---------------------------------------------------------------------------
25              
26             =head1 DESCRIPTION
27              
28             Biblio::ILL::ISO::ILLServiceType is a derivation of Biblio::ILL::ISO::ENUMERATED.
29              
30             =head1 USES
31              
32             None.
33              
34             =head1 USED IN
35              
36             Biblio::ILL::ISO::ILLServiceTypeSequence
37             Biblio::ILL::ISO::Request
38              
39             =cut
40              
41 4     4   738 BEGIN{@ISA = qw ( Biblio::ILL::ISO::ENUMERATED
42             Biblio::ILL::ISO::ILLASNtype );} # inherit from ILLASNtype
43              
44             =head1 FROM THE ASN DEFINITION
45            
46             ILL-Service-Type ::= ENUMERATED {
47             loan (1),
48             copy-non-returnable (2),
49             locations (3),
50             estimate (4),
51             responder-specific (5)
52             }
53              
54             =cut
55              
56             =head1 METHODS
57              
58             =cut
59              
60             #---------------------------------------------------------------
61             #
62             #---------------------------------------------------------------
63             =head1
64              
65             =head2 new( $service_type )
66              
67             Creates a new ILLServiceType object.
68             Valid paramaters are listed in the FROM THE ASN DEFINITION section
69             (e.g. "loan").
70              
71             =cut
72             sub new {
73 6     6 1 34 my $class = shift;
74 6         22 my $self = {};
75              
76 6         48 $self->{"ENUM_LIST"} = {"loan" => 1,
77             "copy-non-returnable" => 2,
78             "locations" => 3,
79             "estimate" => 4,
80             "responder-specific" => 5
81             };
82              
83 6 50       18 if (@_) {
84 6         12 my $s = shift;
85            
86 6 50       24 if ( exists $self->{"ENUM_LIST"}->{$s} ) {
87 6         23 $self->{"ENUMERATED"} = $self->{"ENUM_LIST"}->{$s};
88             } else {
89 0         0 croak "invalid ILLServiceType: [$s]";
90             }
91             }
92              
93 6   33     48 bless($self, ref($class) || $class);
94 6         131 return ($self);
95             }
96              
97             =head1 SEE ALSO
98              
99             See the README for system design notes.
100             See the parent class(es) for other available methods.
101              
102             For more information on Interlibrary Loan standards (ISO 10160/10161),
103             a good place to start is:
104              
105             http://www.nlc-bnc.ca/iso/ill/main.htm
106              
107             =cut
108              
109             =head1 AUTHOR
110              
111             David Christensen,
112              
113             =cut
114              
115              
116             =head1 COPYRIGHT AND LICENSE
117              
118             Copyright 2003 by David Christensen
119              
120             This library is free software; you can redistribute it and/or modify it
121             under the same terms as Perl itself.
122              
123             =cut
124              
125             1;