Get NCIP configuration directory from the environment.
[working/NCIPServer.git] / lib / NCIP / Item.pm
1 # ---------------------------------------------------------------
2 # Copyright © 2014 Jason J.A. Stephenson <jason@sigio.com>
3 #
4 # This file is part of NCIPServer.
5 #
6 # NCIPServer is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2 of the License, or
9 # (at your option) any later version.
10 #
11 # NCIPServer 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 GNU
14 # General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License
17 # along with NCIPServer.  If not, see <http://www.gnu.org/licenses/>.
18 # ---------------------------------------------------------------
19 package NCIP::Item;
20
21 use parent qw(Class::Accessor);
22
23 =head1 NAME
24
25 Item - Defined as ItemInformation in z39.83-1-2012
26
27 =head1 SYNOPSIS
28
29
30
31 =head1 DESCRIPTION
32
33 =head1 FIELDS
34
35 =head2 ItemId
36
37 Optional NCIP::Item::Id object.
38
39 =head2 RequestId
40
41 Optional array of NCIP::RequestId objects.
42
43 This field occurs only if Problem is not present in the same Item
44 Information.
45
46 =head2 CurrentBorrower
47
48 Optional NCIP::User::Id object specifying the user to whom the item is
49 currently charged.
50
51 =head2 DateDue
52
53 Optional date/time indicating the due date of the item.
54
55 =head2 DateRecalled
56
57 Optional date/time indicating the date and time of an item recall.
58
59 =head2 HoldPickupDate
60
61 Optional date/time indicating when a hold expires for the given item
62 and user.
63
64 =head2 ItemTransaction
65
66 Not currently implemented.
67
68 =head2 ItemOptionalFields
69
70 Optional NCIP::Item::OptionalFields object.
71
72 This field occurs only if Problem is not present in the same Item
73 Information.
74
75 =head2 ItemNote
76
77 Text string that provides data additional to that provide in other
78 data elements that comprise Item Information.
79
80 Occurs 0 or 1 time but only if Problem is not present in the same Item
81 Information.
82
83 =head2 Problem
84
85 Optional NCIP::Problem object to describe some problem with the item request.
86
87 Occurs 0 or more times but only if Request Id, Current Borrower,
88 Current Requester, Date Due, Date Recalled, Hold Pickup Date, Item
89 Transaction, Item Optional Fields, and Item Note are not present in
90 the same Item Information element.
91
92 =cut
93
94 NCIP::Item->mk_accessors(
95     qw(
96           ItemId
97           RequestId
98           CurrentBorrower
99           DateDue
100           DateRecalled
101           HoldPickupDate
102           ItemTransaction
103           ItemOptionalFields
104           ItemNote
105           Problem
106       )
107 );
108
109 1;