newsfeed.java

### File Source: newsfeed.java

             /*
        P/P   *  Method: net.sourceforge.pebble.aggregator.NewsFeed__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 java.util.List;
        35  import java.util.LinkedList;
        36
        37  /**
        38   * Simple representation of a newsfeed.
        39   *
        40   * @author    Simon Brown
        41   */
        42  public class NewsFeed {
        43
        44    private String url;
        45    private String title;
        46    private String link;
        47    private List<NewsFeedEntry> entries = new LinkedList<NewsFeedEntry>();
        48    private long timestamp;
        49
               /*
        P/P     *  Method: void net.sourceforge.pebble.aggregator.NewsFeed(String)
                *
                *  Postconditions:
                *    this.entries == &new LinkedList(NewsFeed#1)
                *    init'ed(this.timestamp)
                *    this.url == url
                *    init'ed(this.url)
                *    new LinkedList(NewsFeed#1) num objects == 1
                */
        50    public NewsFeed(String url) {
        51      this.url = url;
        52      this.timestamp = System.currentTimeMillis();
        53    }
        54
        55    public String getUrl() {
                 /*
        P/P       *  Method: String getUrl()
                  *
                  *  Preconditions:
                  *    init'ed(this.url)
                  *
                  *  Postconditions:
                  *    return_value == this.url
                  *    init'ed(return_value)
                  */
        56      return url;
        57    }
        58
        59    public String getTitle() {
                 /*
        P/P       *  Method: String getTitle()
                  *
                  *  Preconditions:
                  *    init'ed(this.title)
                  *
                  *  Postconditions:
                  *    return_value == this.title
                  *    init'ed(return_value)
                  */
        60      return title;
        61    }
        62
        63    public void setTitle(String title) {
                 /*
        P/P       *  Method: void setTitle(String)
                  *
                  *  Postconditions:
                  *    this.title == title
                  *    init'ed(this.title)
                  */
        64      this.title = title;
        65    }
        66
        67    public String getLink() {
                 /*
        P/P       *  Method: String getLink()
                  *
                  *  Preconditions:
                  *    init'ed(this.link)
                  *
                  *  Postconditions:
                  *    return_value == this.link
                  *    init'ed(return_value)
                  */
        68      return link;
        69    }
        70
        71    public void setLink(String link) {
                 /*
        P/P       *  Method: void setLink(String)
                  *
                  *  Postconditions:
                  *    this.link == link
                  *    init'ed(this.link)
                  */
        72      this.link = link;
        73    }
        74
        75    public void add(NewsFeedEntry entry) {
                 /*
        P/P       *  Method: void add(NewsFeedEntry)
                  *
                  *  Preconditions:
                  *    (soft) this.entries != null
                  *
                  *  Postconditions:
                  *    entry.feed == One-of{old entry.feed, this}
                  *
                  *  Test Vectors:
                  *    entry: Addr_Set{null}, Inverse{null}
                  *    java.util.List:contains(...)@76: {1}, {0}
                  */
        76      if (entry != null && !entries.contains(entry)) {
        77        entries.add(entry);
        78        entry.setFeed(this);
        79      }
        80    }
        81
        82    public List<NewsFeedEntry> getEntries() {
                 /*
        P/P       *  Method: List getEntries()
                  *
                  *  Preconditions:
                  *    init'ed(this.entries)
                  *
                  *  Postconditions:
                  *    return_value == this.entries
                  *    init'ed(return_value)
                  */
        83      return entries;
        84    }
        85
        86    public long getTimestamp() {
                 /*
        P/P       *  Method: long getTimestamp()
                  *
                  *  Preconditions:
                  *    init'ed(this.timestamp)
                  *
                  *  Postconditions:
                  *    return_value == this.timestamp
                  *    init'ed(return_value)
                  */
        87      return timestamp;
        88    }
        89
        90  }

SofCheck Inspector Build Version : 2.22510

newsfeed.java | 2010-Jun-25 19:40:32
newsfeed.class | 2010-Jul-19 20:23:40