File Source: newsfeedentry.java
/*
P/P * Method: net.sourceforge.pebble.aggregator.NewsFeedEntry__static_init
*/
1 /*
2 * Copyright (c) 2003-2006, Simon Brown
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 *
8 * - Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 *
11 * - Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in
13 * the documentation and/or other materials provided with the
14 * distribution.
15 *
16 * - Neither the name of Pebble nor the names of its contributors may
17 * be used to endorse or promote products derived from this software
18 * without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
24 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30 * POSSIBILITY OF SUCH DAMAGE.
31 */
32 package net.sourceforge.pebble.aggregator;
33
34 import net.sourceforge.pebble.util.StringUtils;
35
36 import java.util.Date;
37
38 /**
39 * @author Simon Brown
40 */
41 public class NewsFeedEntry {
42
43 private String link;
44 private String title;
45 private String body;
46 private String author;
47 private Date date;
48 private NewsFeed feed;
49
/*
P/P * Method: void net.sourceforge.pebble.aggregator.NewsFeedEntry(String, String, String, String, Date)
*
* Postconditions:
* this.author == author
* init'ed(this.author)
* this.body == body
* init'ed(this.body)
* this.date == date
* init'ed(this.date)
* this.link == link
* init'ed(this.link)
* this.title == title
* init'ed(this.title)
*/
50 public NewsFeedEntry(String link, String title, String body, String author, Date date) {
51 this.link = link;
52 this.title = title;
53 this.body = body;
54 this.author = author;
55 this.date = date;
56 }
57
58 void setFeed(NewsFeed feed) {
/*
P/P * Method: void setFeed(NewsFeed)
*
* Postconditions:
* this.feed == feed
* init'ed(this.feed)
*/
59 this.feed = feed;
60 }
61
62 public NewsFeed getFeed() {
/*
P/P * Method: NewsFeed getFeed()
*
* Preconditions:
* init'ed(this.feed)
*
* Postconditions:
* return_value == this.feed
* init'ed(return_value)
*/
63 return feed;
64 }
65
66 public String getLink() {
/*
P/P * Method: String getLink()
*
* Preconditions:
* init'ed(this.link)
*
* Postconditions:
* return_value == this.link
* init'ed(return_value)
*/
67 return link;
68 }
69
70 public String getTitle() {
/*
P/P * Method: String getTitle()
*
* Preconditions:
* init'ed(this.title)
*
* Postconditions:
* return_value == this.title
* init'ed(return_value)
*/
71 return title;
72 }
73
74 public String getBody() {
/*
P/P * Method: String getBody()
*
* Preconditions:
* init'ed(this.body)
*
* Postconditions:
* return_value == this.body
* init'ed(return_value)
*/
75 return body;
76 }
77
78 public String getTruncatedBody() {
/*
P/P * Method: String getTruncatedBody()
*
* Preconditions:
* init'ed(this.body)
*
* Postconditions:
* init'ed(return_value)
*/
79 return StringUtils.truncate(getBody());
80 }
81
82 public String getAuthor() {
/*
P/P * Method: String getAuthor()
*
* Preconditions:
* init'ed(this.author)
*
* Postconditions:
* return_value == this.author
* init'ed(return_value)
*/
83 return author;
84 }
85
86 public Date getDate() {
/*
P/P * Method: Date getDate()
*
* Preconditions:
* init'ed(this.date)
*
* Postconditions:
* return_value == this.date
* init'ed(return_value)
*/
87 return this.date;
88 }
89
90 public boolean equals(Object o) {
/*
P/P * Method: bool equals(Object)
*
* Preconditions:
* (soft) init'ed(o.link)
* (soft) this.link != null
*
* Postconditions:
* init'ed(return_value)
*
* Test Vectors:
* o: Inverse{null}, Addr_Set{null}
* this == o: {0}, {1}
* java.lang.String:equals(...)@96: {1}, {0}
*/
91 if (this == o) return true;
92 if (o == null || getClass() != o.getClass()) return false;
93
94 NewsFeedEntry feedEntry = (NewsFeedEntry) o;
95
96 if (!link.equals(feedEntry.link)) return false;
97
98 return true;
99 }
100
101 public int hashCode() {
/*
P/P * Method: int hashCode()
*
* Preconditions:
* this.link != null
*
* Postconditions:
* init'ed(return_value)
*/
102 return link.hashCode();
103 }
104
105 public String toString() {
/*
P/P * Method: String toString()
*
* Preconditions:
* init'ed(this.author)
* init'ed(this.body)
* init'ed(this.date)
* init'ed(this.link)
* init'ed(this.title)
*
* Postconditions:
* return_value != null
*/
106 return "title=" + title + " | body=" + body + " | author=" + author + " | date=" + date + " | link=" + link;
107 }
108
109 }
SofCheck Inspector Build Version : 2.22510
| newsfeedentry.java |
2010-Jun-25 19:40:32 |
| newsfeedentry.class |
2010-Jul-19 20:23:40 |