File Coverage

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