com.sun.syndication.feed.synd
Interface SyndFeed

All Superinterfaces:
java.lang.Cloneable, CopyFrom
All Known Implementing Classes:
SyndFeedImpl

public interface SyndFeed
extends java.lang.Cloneable, CopyFrom

Bean interface for all types of feeds.

It handles all RSS versions and Atom 0.3, it normalizes all info, it may lose information.

Author:
Alejandro Abdelnur

Method Summary
 java.lang.Object clone()
          Creates a deep clone of the object.
 WireFeed createWireFeed()
          Creates a real feed containing the information of the SyndFeedImpl.
 WireFeed createWireFeed(java.lang.String feedType)
          Creates a real feed containing the information of the SyndFeedImpl.
 java.lang.String getAuthor()
          Returns the feed author.
 java.util.List getCategories()
          Returns the feed categories.
 java.lang.String getCopyright()
          Returns the feed copyright.
 java.lang.String getDescription()
          Returns the feed description.
 java.lang.String getEncoding()
          Returns the charset encoding of a the feed.
 java.util.List getEntries()
          Returns the feed entries.
 java.lang.String getFeedType()
          Returns the wire feed type the feed had/will-have when coverted from/to a WireFeed.
 SyndImage getImage()
          Returns the feed image.
 java.lang.String getLanguage()
          Returns the feed language.
 java.lang.String getLink()
          Returns the feed link.
 Module getModule(java.lang.String uri)
          Returns the module identified by a given URI.
 java.util.List getModules()
          Returns the feed modules.
 java.util.Date getPublishedDate()
          Returns the feed published date.
 java.util.List getSupportedFeedTypes()
          Returns the real feed types the SyndFeedImpl supports when converting from and to.
 java.lang.String getTitle()
          Returns the feed title.
 java.lang.String getUri()
          Returns the feed URI.
 void setAuthor(java.lang.String author)
          Sets the feed author.
 void setCategories(java.util.List categories)
          Sets the feed categories.
 void setCopyright(java.lang.String copyright)
          Sets the feed copyright.
 void setDescription(java.lang.String description)
          Sets the feed description.
 void setEncoding(java.lang.String encoding)
          Sets the charset encoding of a the feed.
 void setEntries(java.util.List entries)
          Sets the feed entries.
 void setFeedType(java.lang.String feedType)
          Sets the wire feed type the feed will-have when coverted to a WireFeed.
 void setImage(SyndImage image)
          Sets the feed image.
 void setLanguage(java.lang.String language)
          Sets the feed language.
 void setLink(java.lang.String link)
          Sets the feed link.
 void setModules(java.util.List modules)
          Sets the feed modules.
 void setPublishedDate(java.util.Date publishedDate)
          Sets the feed published date.
 void setTitle(java.lang.String title)
          Sets the feed title.
 void setUri(java.lang.String uri)
          Sets the feed URI.
 
Methods inherited from interface com.sun.syndication.feed.CopyFrom
copyFrom, getInterface
 

Method Detail

getSupportedFeedTypes

public java.util.List getSupportedFeedTypes()
Returns the real feed types the SyndFeedImpl supports when converting from and to.

Returns:
the real feed type supported.

createWireFeed

public WireFeed createWireFeed()
Creates a real feed containing the information of the SyndFeedImpl.

The feed type of the created WireFeed is taken from the SyndFeedImpl feedType property.

Returns:
the real feed.

createWireFeed

public WireFeed createWireFeed(java.lang.String feedType)
Creates a real feed containing the information of the SyndFeedImpl.

Parameters:
feedType - the feed type for the WireFeed to be created.
Returns:
the real feed.

getFeedType

public java.lang.String getFeedType()
Returns the wire feed type the feed had/will-have when coverted from/to a WireFeed.

Returns:
the feed type, null if none.

setFeedType

public void setFeedType(java.lang.String feedType)
Sets the wire feed type the feed will-have when coverted to a WireFeed.

Parameters:
feedType - the feed type to set, null if none.

getEncoding

public java.lang.String getEncoding()
Returns the charset encoding of a the feed. This is not set by Rome parsers.

Returns:
the charset encoding of the feed.

setEncoding

public void setEncoding(java.lang.String encoding)
Sets the charset encoding of a the feed. This is not set by Rome parsers.

Parameters:
encoding - the charset encoding of the feed.

getUri

public java.lang.String getUri()
Returns the feed URI.

How the feed URI maps to a concrete feed type (RSS or Atom) depends on the concrete feed type. This is explained in detail in Rome documentation, Feed and entry URI mapping.

The returned URI is a normalized URI as specified in RFC 2396bis.

Note: The URI is the unique identifier, in the RSS 2.0/atom case this is the GUID, for RSS 1.0 this is the URI attribute of the item. The Link is the URL that the item is accessible under, the URI is the permanent identifier which the aggregator should use to reference this item. Often the URI will use some standardized identifier scheme such as DOI's so that items can be identified even if they appear in multiple feeds with different "links" (they might be on different hosting platforms but be the same item). Also, though rare, there could be multiple items with the same link but a different URI and associated metadata which need to be treated as distinct entities. In the RSS 1.0 case the URI must be a valid RDF URI reference.

Returns:
the feed URI, null if none.

setUri

public void setUri(java.lang.String uri)
Sets the feed URI.

How the feed URI maps to a concrete feed type (RSS or Atom) depends on the concrete feed type. This is explained in detail in Rome documentation, Feed and entry URI mapping.

Note: The URI is the unique identifier, in the RSS 2.0/atom case this is the GUID, for RSS 1.0 this is the URI attribute of the item. The Link is the URL that the item is accessible under, the URI is the permanent identifier which the aggregator should use to reference this item. Often the URI will use some standardized identifier scheme such as DOI's so that items can be identified even if they appear in multiple feeds with different "links" (they might be on different hosting platforms but be the same item). Also, though rare, there could be multiple items with the same link but a different URI and associated metadata which need to be treated as distinct entities. In the RSS 1.0 case the URI must be a valid RDF URI reference.

Parameters:
uri - the feed URI to set, null if none.

getTitle

public java.lang.String getTitle()
Returns the feed title.

Returns:
the feed title, null if none.

setTitle

public void setTitle(java.lang.String title)
Sets the feed title.

Parameters:
title - the feed title to set, null if none.

getLink

public java.lang.String getLink()
Returns the feed link.

Note: The URI is the unique identifier, in the RSS 2.0/atom case this is the GUID, for RSS 1.0 this is the URI attribute of the item. The Link is the URL that the item is accessible under, the URI is the permanent identifier which the aggregator should use to reference this item. Often the URI will use some standardized identifier scheme such as DOI's so that items can be identified even if they appear in multiple feeds with different "links" (they might be on different hosting platforms but be the same item). Also, though rare, there could be multiple items with the same link but a different URI and associated metadata which need to be treated as distinct entities. In the RSS 1.0 case the URI must be a valid RDF URI reference.

Returns:
the feed link, null if none.

setLink

public void setLink(java.lang.String link)
Sets the feed link.

Note: The URI is the unique identifier, in the RSS 2.0/atom case this is the GUID, for RSS 1.0 this is the URI attribute of the item. The Link is the URL that the item is accessible under, the URI is the permanent identifier which the aggregator should use to reference this item. Often the URI will use some standardized identifier scheme such as DOI's so that items can be identified even if they appear in multiple feeds with different "links" (they might be on different hosting platforms but be the same item). Also, though rare, there could be multiple items with the same link but a different URI and associated metadata which need to be treated as distinct entities. In the RSS 1.0 case the URI must be a valid RDF URI reference.

Parameters:
link - the feed link to set, null if none.

getDescription

public java.lang.String getDescription()
Returns the feed description.

Returns:
the feed description, null if none.

setDescription

public void setDescription(java.lang.String description)
Sets the feed description.

Parameters:
description - the feed description to set, null if none.

getPublishedDate

public java.util.Date getPublishedDate()
Returns the feed published date.

This method is a convenience method, it maps to the Dublin Core module date.

Returns:
the feed published date, null if none.

setPublishedDate

public void setPublishedDate(java.util.Date publishedDate)
Sets the feed published date.

This method is a convenience method, it maps to the Dublin Core module date.

Parameters:
publishedDate - the feed published date to set, null if none.

getAuthor

public java.lang.String getAuthor()
Returns the feed author.

This method is a convenience method, it maps to the Dublin Core module creator.

Returns:
the feed author, null if none.

setAuthor

public void setAuthor(java.lang.String author)
Sets the feed author.

This method is a convenience method, it maps to the Dublin Core module creator.

Parameters:
author - the feed author to set, null if none.

getCopyright

public java.lang.String getCopyright()
Returns the feed copyright.

This method is a convenience method, it maps to the Dublin Core module rights.

Returns:
the feed copyright, null if none.

setCopyright

public void setCopyright(java.lang.String copyright)
Sets the feed copyright.

This method is a convenience method, it maps to the Dublin Core module rights.

Parameters:
copyright - the feed copyright to set, null if none.

getImage

public SyndImage getImage()
Returns the feed image.

Returns:
the feed image, null if none.

setImage

public void setImage(SyndImage image)
Sets the feed image.

Parameters:
image - the feed image to set, null if none.

getCategories

public java.util.List getCategories()
Returns the feed categories.

This method is a convenience method, it maps to the Dublin Core module subjects.

Returns:
a list of SyndCategoryImpl elements with the feed categories, an empty list if none.

setCategories

public void setCategories(java.util.List categories)
Sets the feed categories.

This method is a convenience method, it maps to the Dublin Core module subjects.

Parameters:
categories - the list of SyndCategoryImpl elements with the feed categories to set, an empty list or null if none.

getEntries

public java.util.List getEntries()
Returns the feed entries.

Returns:
a list of SyndEntryImpl elements with the feed entries, an empty list if none.

setEntries

public void setEntries(java.util.List entries)
Sets the feed entries.

Parameters:
entries - the list of SyndEntryImpl elements with the feed entries to set, an empty list or null if none.

getLanguage

public java.lang.String getLanguage()
Returns the feed language.

This method is a convenience method, it maps to the Dublin Core module language.

Returns:
the feed language, null if none.

setLanguage

public void setLanguage(java.lang.String language)
Sets the feed language.

This method is a convenience method, it maps to the Dublin Core module language.

Parameters:
language - the feed language to set, null if none.

getModule

public Module getModule(java.lang.String uri)
Returns the module identified by a given URI.

Parameters:
uri - the URI of the ModuleImpl.
Returns:
The module with the given URI, null if none.

getModules

public java.util.List getModules()
Returns the feed modules.

Returns:
a list of ModuleImpl elements with the feed modules, an empty list if none.

setModules

public void setModules(java.util.List modules)
Sets the feed modules.

Parameters:
modules - the list of ModuleImpl elements with the feed modules to set, an empty list or null if none.

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Creates a deep clone of the object.

Returns:
a clone of the object.
Throws:
java.lang.CloneNotSupportedException - thrown if an element of the object cannot be cloned.


Copyright © 2004-2005 Sun Microsystems. All Rights Reserved.