org.springframework.web.servlet.view.feed
Class AbstractAtomFeedView
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.atom.Feed>
org.springframework.web.servlet.view.feed.AbstractAtomFeedView
- All Implemented Interfaces:
- BeanNameAware, ApplicationContextAware, ServletContextAware, View
public abstract class AbstractAtomFeedView
- extends AbstractFeedView<com.sun.syndication.feed.atom.Feed>
Abstract superclass for Atom 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
buildFeedEntries(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)
,
buildFeedEntries(Map, HttpServletRequest, HttpServletResponse)
,
Atom Syndication Format
Method Summary |
protected void |
buildFeedEntries(Map<String,Object> model,
com.sun.syndication.feed.atom.Feed feed,
HttpServletRequest request,
HttpServletResponse response)
Invokes buildFeedEntries(Map, HttpServletRequest, HttpServletResponse)
to get a list of feed entries. |
protected abstract List<com.sun.syndication.feed.atom.Entry> |
buildFeedEntries(Map<String,Object> model,
HttpServletRequest request,
HttpServletResponse response)
Subclasses must implement this method to build feed entries, given the model. |
protected com.sun.syndication.feed.atom.Feed |
newFeed()
Create a new Feed instance to hold the entries. |
void |
setFeedType(String feedType)
Sets the Rome feed type to use. |
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 |
DEFAULT_FEED_TYPE
public static final String DEFAULT_FEED_TYPE
- See Also:
- Constant Field Values
AbstractAtomFeedView
public AbstractAtomFeedView()
setFeedType
public void setFeedType(String feedType)
- Sets the Rome feed type to use.
Defaults to Atom 1.0.
- See Also:
WireFeed.setFeedType(String)
,
DEFAULT_FEED_TYPE
newFeed
protected com.sun.syndication.feed.atom.Feed newFeed()
- Create a new Feed instance to hold the entries.
By default returns an Atom 1.0 feed, but the subclass can specify any Feed.
- Specified by:
newFeed
in class AbstractFeedView<com.sun.syndication.feed.atom.Feed>
- Returns:
- the newly created Feed instance
- See Also:
setFeedType(String)
buildFeedEntries
protected final void buildFeedEntries(Map<String,Object> model,
com.sun.syndication.feed.atom.Feed feed,
HttpServletRequest request,
HttpServletResponse response)
throws Exception
- Invokes
buildFeedEntries(Map, HttpServletRequest, HttpServletResponse)
to get a list of feed entries.
- Specified by:
buildFeedEntries
in class AbstractFeedView<com.sun.syndication.feed.atom.Feed>
- Parameters:
model
- the model Mapfeed
- 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
buildFeedEntries
protected abstract List<com.sun.syndication.feed.atom.Entry> buildFeedEntries(Map<String,Object> model,
HttpServletRequest request,
HttpServletResponse response)
throws Exception
- Subclasses must implement this method to build feed entries, 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 entries to be added to the feed
- Throws:
Exception
- any exception that occured during document building- See Also:
Entry