View Javadoc
1 package net.sf.flock; 2 3 import java.net.URL; 4 import java.util.ArrayList; 5 import java.util.Date; 6 import java.util.Iterator; 7 import java.util.List; 8 9 10 /*** 11 * @version $Revision: 1.5 $ 12 * @author $Author: phraktle $ 13 */ 14 public class Feed implements FeedI { 15 16 private String title = "New feed"; 17 private URL site; 18 private List items = new ArrayList(); 19 20 /*** 21 * @see net.sf.flock.FeedI#getSite() 22 */ 23 public URL getSite() { 24 return site; 25 } 26 27 public void setSite(URL site) { 28 this.site = site; 29 } 30 31 /*** 32 * @see net.sf.flock.FeedI#getItems() 33 */ 34 public List getItems() { 35 return this.items; 36 } 37 38 public ItemI newItem(Date creationTime, String title, String description, URL link) { 39 Item item = new Item(this); 40 item.setCreationTime(creationTime); 41 item.setTitle(title); 42 item.setDescription(description); 43 item.setLink(link); 44 this.items.add( item ); 45 return item; 46 } 47 48 protected boolean hasItem(ItemI article) { 49 return this.items.contains(article); 50 } 51 52 /*** 53 * @see net.sf.flock.FeedI#getTitle() 54 */ 55 public String getTitle() { 56 return this.title; 57 } 58 59 public void setTitle(String title) { 60 if (title==null) { 61 throw new IllegalArgumentException("Title cannot be null"); 62 } 63 this.title = title; 64 } 65 66 /*** 67 * @see net.sf.flock.FeedI#merge(FeedI) 68 */ 69 public List merge(FeedI feed) { 70 this.setTitle( feed.getTitle() ); 71 this.setSite( feed.getSite() ); 72 73 List newItems = new ArrayList(); 74 for (Iterator i=feed.getItems().iterator(); i.hasNext(); ) { 75 Item a = (Item)i.next(); 76 if (!this.hasItem(a)) { 77 newItems.add( 78 this.newItem( 79 a.getCreationTime(), 80 a.getTitle(), 81 a.getDescription(), 82 a.getLink() 83 ) 84 ); 85 } 86 } 87 88 return newItems; 89 } 90 91 }

This page was automatically generated by Maven