File Coverage

blib/lib/Biblio/ILL/ISO/SupplyMediumType.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::SupplyMediumType;
2              
3             =head1 NAME
4              
5             Biblio::ILL::ISO::SupplyMediumType
6              
7             =cut
8              
9 4     4   20 use Biblio::ILL::ISO::ILLASNtype;
  4         9  
  4         93  
10 4     4   24 use Biblio::ILL::ISO::ENUMERATED;
  4         7  
  4         466  
11              
12 4     4   21 use Carp;
  4         9  
  4         366  
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::SupplyMediumType 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::SupplyDetails
37              
38             =cut
39              
40 4     4   723 BEGIN{@ISA = qw ( Biblio::ILL::ISO::ENUMERATED
41             Biblio::ILL::ISO::ILLASNtype );} # inherit from ILLASNtype
42              
43             =head1 FROM THE ASN DEFINITION
44            
45             Yes, it *is* different than MediumType... it includes 'photocopy'.
46            
47             Supply-Medium-Type ::= ENUMERATED {
48             printed (1),
49             photocopy (2),
50             microform (3),
51             film-or-video-recording (4),
52             audio-recording (5),
53             machine-readable (6),
54             other (7)
55             }
56              
57             =cut
58              
59             =head1 METHODS
60              
61             =cut
62              
63              
64             #---------------------------------------------------------------
65             #
66             #---------------------------------------------------------------
67             =head1
68              
69             =head2 new( $s )
70              
71             Creates a new SupplyMediumType object.
72             Valid paramaters are listed in the FROM THE ASN DEFINITION section
73             (e.g. "printed").
74              
75             =cut
76             sub new {
77 4     4 1 16 my $class = shift;
78 4         8 my $self = {};
79              
80 4         31 $self->{"ENUM_LIST"} = {"printed" => 1,
81             "photocopy" => 2,
82             "microform" => 3,
83             "film-or-video-recording" => 4,
84             "audio-recording" => 5,
85             "machine-readable" => 6,
86             "other" => 7
87             };
88              
89 4 50       17 if (@_) {
90 4         5 my $s = shift;
91            
92 4 50       12 if ( exists $self->{"ENUM_LIST"}->{$s} ) {
93 4         11 $self->{"ENUMERATED"} = $self->{"ENUM_LIST"}->{$s};
94             } else {
95 0         0 croak "invalid SupplyMediumListType: [$s]";
96             }
97             }
98              
99 4   33     25 bless($self, ref($class) || $class);
100 4         33 return ($self);
101             }
102              
103             =head1 SEE ALSO
104              
105             See the README for system design notes.
106             See the parent class(es) for other available methods.
107              
108             For more information on Interlibrary Loan standards (ISO 10160/10161),
109             a good place to start is:
110              
111             http://www.nlc-bnc.ca/iso/ill/main.htm
112              
113             =cut
114              
115             =head1 AUTHOR
116              
117             David Christensen,
118              
119             =cut
120              
121              
122             =head1 COPYRIGHT AND LICENSE
123              
124             Copyright 2003 by David Christensen
125              
126             This library is free software; you can redistribute it and/or modify it
127             under the same terms as Perl itself.
128              
129             =cut
130              
131             1;