moved qdb here because matt is lazy
[public/www-new.git] / pub / qdb / src / modules / Chirpy / NewsItem.pm
1 ###############################################################################\r
2 # Chirpy! 0.3, a quote management system                                      #\r
3 # Copyright (C) 2005-2007 Tim De Pauw <ceetee@users.sourceforge.net>          #\r
4 ###############################################################################\r
5 # This program is free software; you can redistribute it and/or modify it     #\r
6 # under the terms of the GNU General Public License as published by the Free  #\r
7 # Software Foundation; either version 2 of the License, or (at your option)   #\r
8 # any later version.                                                          #\r
9 #                                                                             #\r
10 # This program is distributed in the hope that it will be useful, but WITHOUT #\r
11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       #\r
12 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for   #\r
13 # more details.                                                               #\r
14 #                                                                             #\r
15 # You should have received a copy of the GNU General Public License along     #\r
16 # with this program; if not, write to the Free Software Foundation, Inc., 51  #\r
17 # Franklin St, Fifth Floor, Boston, MA  02110-1301  USA                       #\r
18 ###############################################################################\r
19 \r
20 ###############################################################################\r
21 # $Id:: NewsItem.pm 291 2007-02-05 21:24:46Z ceetee                         $ #\r
22 ###############################################################################\r
23 \r
24 =head1 NAME\r
25 \r
26 Chirpy::NewsItem - Represents a news item\r
27 \r
28 =head1 SYNOPSIS\r
29 \r
30  $item = new Chirpy::NewsItem($id, $body, $poster, $date);\r
31 \r
32  $id = $item->get_id();\r
33  $item->set_id($id);\r
34 \r
35  $body = $item->get_body();\r
36  $item->set_body($body);\r
37 \r
38  $poster = $item->get_poster();\r
39  $item->set_poster($poster);\r
40 \r
41  $date = $item->get_date();\r
42  $item->set_date($date);\r
43 \r
44 =head1 CONSTRAINTS\r
45 \r
46 =over 4\r
47 \r
48 =item ID\r
49 \r
50 The news item ID must be a positive non-zero integer.\r
51 \r
52 =item Body\r
53 \r
54 The news item body can be any text string.\r
55 \r
56 =item Poster\r
57 \r
58 The poster of the news item must be an instance of L<Chirpy::Account>, if any.\r
59 \r
60 =item Date\r
61 \r
62 The date when the news item was posted must be a UNIX timestamp.\r
63 \r
64 =back\r
65 \r
66 =head1 AUTHOR\r
67 \r
68 Tim De Pauw E<lt>ceetee@users.sourceforge.netE<gt>\r
69 \r
70 =head1 SEE ALSO\r
71 \r
72 L<Chirpy>, L<http://chirpy.sourceforge.net/>\r
73 \r
74 =head1 COPYRIGHT\r
75 \r
76 Copyright 2005-2007 Tim De Pauw. All rights reserved.\r
77 \r
78 This program is free software; you can redistribute it and/or modify it under\r
79 the terms of the GNU General Public License as published by the Free Software\r
80 Foundation; either version 2 of the License, or (at your option) any later\r
81 version.\r
82 \r
83 This program is distributed in the hope that it will be useful, but WITHOUT ANY\r
84 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A\r
85 PARTICULAR PURPOSE.  See the GNU General Public License for more details.\r
86 \r
87 =cut\r
88 \r
89 package Chirpy::NewsItem;\r
90 \r
91 use strict;\r
92 use warnings;\r
93 \r
94 use vars qw($VERSION);\r
95 \r
96 $VERSION = '0.3';\r
97 \r
98 use Chirpy 0.3;\r
99 \r
100 sub new {\r
101         my ($class, $id, $body, $poster, $date) = @_;\r
102         my $self = {\r
103                 'id' => $id,\r
104                 'body' => $body,\r
105                 'poster' => $poster,\r
106                 'date' => $date\r
107         };\r
108         return bless($self, $class);\r
109 }\r
110 \r
111 sub get_id {\r
112         my $self = shift;\r
113         return $self->{'id'};\r
114 }\r
115 \r
116 sub set_id {\r
117         my $self = shift;\r
118         return ($self->{'id'} = shift);\r
119 }\r
120 \r
121 sub get_body {\r
122         my $self = shift;\r
123         return $self->{'body'};\r
124 }\r
125 \r
126 sub set_body {\r
127         my $self = shift;\r
128         return ($self->{'body'} = shift);\r
129 }\r
130 \r
131 sub get_poster {\r
132         my $self = shift;\r
133         return $self->{'poster'};\r
134 }\r
135 \r
136 sub set_poster {\r
137         my $self = shift;\r
138         return ($self->{'poster'} = shift);\r
139 }\r
140 \r
141 sub get_date {\r
142         my $self = shift;\r
143         return $self->{'date'};\r
144 }\r
145 \r
146 sub set_date {\r
147         my $self = shift;\r
148         return ($self->{'date'} = shift);\r
149 }\r
150 \r
151 1;\r
152 \r
153 ###############################################################################