org.springframework.web.servlet.view.feed
Class AbstractRssFeedView
java.lang.Object
org.springframework.context.support.ApplicationObjectSupport
org.springframework.web.context.support.WebApplicationObjectSupport
org.springframework.web.servlet.view.AbstractView
org.springframework.web.servlet.view.feed.AbstractFeedView<com.sun.syndication.feed.rss.Channel>
org.springframework.web.servlet.view.feed.AbstractRssFeedView
- All Implemented Interfaces:
- BeanNameAware, ApplicationContextAware, ServletContextAware, View
public abstract class AbstractRssFeedView
- extends AbstractFeedView<com.sun.syndication.feed.rss.Channel>
Abstract superclass for RSS Feed views, using java.net's
ROME package.
Application-specific view classes will extend this class.
The view will be held in the subclass itself, not in a template.
Main entry points are the AbstractFeedView.buildFeedMetadata(Map, WireFeed , HttpServletRequest)
and buildFeedItems(Map, HttpServletRequest, HttpServletResponse)
.
Thanks to Jettro Coenradie and Sergio Bossa for the original feed view prototype!
- Since:
- 3.0
- Author:
- Arjen Poutsma, Juergen Hoeller
- See Also:
AbstractFeedView.buildFeedMetadata(Map, WireFeed , HttpServletRequest)
,
buildFeedItems(Map, HttpServletRequest, HttpServletResponse)
Method Summary |
protected void |
buildFeedEntries(Map<String,Object> model,
com.sun.syndication.feed.rss.Channel channel,
HttpServletRequest request,
HttpServletResponse response)
Invokes buildFeedItems(Map, HttpServletRequest, HttpServletResponse)
to get a list of feed items. |
protected abstract List<com.sun.syndication.feed.rss.Item> |
buildFeedItems(Map<String,Object> model,
HttpServletRequest request,
HttpServletResponse response)
Subclasses must implement this method to build feed items, given the model. |
protected com.sun.syndication.feed.rss.Channel |
newFeed()
Create a new Channel instance to hold the entries. |
Methods inherited from class org.springframework.web.servlet.view.AbstractView |
addStaticAttribute, createRequestContext, createTemporaryOutputStream, exposeModelAsRequestAttributes, generatesDownloadContent, getAttributesMap, getBeanName, getContentType, getRequestContextAttribute, getStaticAttributes, prepareResponse, render, setAttributes, setAttributesCSV, setAttributesMap, setBeanName, setContentType, setRequestContextAttribute, toString, writeToResponse |
AbstractRssFeedView
public AbstractRssFeedView()
newFeed
protected com.sun.syndication.feed.rss.Channel newFeed()
- Create a new Channel instance to hold the entries.
By default returns an RSS 2.0 channel, but the subclass can specify any channel.
- Specified by:
newFeed
in class AbstractFeedView<com.sun.syndication.feed.rss.Channel>
- Returns:
- the newly created Feed instance
buildFeedEntries
protected final void buildFeedEntries(Map<String,Object> model,
com.sun.syndication.feed.rss.Channel channel,
HttpServletRequest request,
HttpServletResponse response)
throws Exception
- Invokes
buildFeedItems(Map, HttpServletRequest, HttpServletResponse)
to get a list of feed items.
- Specified by:
buildFeedEntries
in class AbstractFeedView<com.sun.syndication.feed.rss.Channel>
- Parameters:
model
- the model Mapchannel
- the feed to add entries torequest
- in case we need locale etc. Shouldn't look at attributes.response
- in case we need to set cookies. Shouldn't write to it.
- Throws:
Exception
- any exception that occured during building
buildFeedItems
protected abstract List<com.sun.syndication.feed.rss.Item> buildFeedItems(Map<String,Object> model,
HttpServletRequest request,
HttpServletResponse response)
throws Exception
- Subclasses must implement this method to build feed items, given the model.
Note that the passed-in HTTP response is just supposed to be used for
setting cookies or other HTTP headers. The built feed itself will automatically
get written to the response after this method returns.
- Parameters:
model
- the model Maprequest
- in case we need locale etc. Shouldn't look at attributes.response
- in case we need to set cookies. Shouldn't write to it.
- Returns:
- the feed items to be added to the feed
- Throws:
Exception
- any exception that occured during document building- See Also:
Item