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:
- org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanNameAware, org.springframework.context.ApplicationContextAware, org.springframework.web.context.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
| Fields inherited from class org.springframework.context.support.ApplicationObjectSupport |
logger |
|
Method Summary |
protected void |
buildFeedEntries(java.util.Map<java.lang.String,java.lang.Object> model,
com.sun.syndication.feed.atom.Feed feed,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Invokes buildFeedEntries(Map, HttpServletRequest, HttpServletResponse)
to get a list of feed entries. |
protected abstract java.util.List<com.sun.syndication.feed.atom.Entry> |
buildFeedEntries(java.util.Map<java.lang.String,java.lang.Object> model,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.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(java.lang.String feedType)
Sets the Rome feed type to use. |
| Methods inherited from class org.springframework.web.servlet.view.AbstractView |
addStaticAttribute, createMergedOutputModel, createRequestContext, createTemporaryOutputStream, exposeModelAsRequestAttributes, generatesDownloadContent, getAttributesMap, getBeanName, getContentType, getRequestContextAttribute, getStaticAttributes, isExposePathVariables, prepareResponse, render, setAttributes, setAttributesCSV, setAttributesMap, setBeanName, setContentType, setExposePathVariables, setRequestContextAttribute, toString, writeToResponse |
| Methods inherited from class org.springframework.web.context.support.WebApplicationObjectSupport |
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContext |
| Methods inherited from class org.springframework.context.support.ApplicationObjectSupport |
getApplicationContext, getMessageSourceAccessor, initApplicationContext, requiredContextClass, setApplicationContext |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
DEFAULT_FEED_TYPE
public static final java.lang.String DEFAULT_FEED_TYPE
- See Also:
- Constant Field Values
AbstractAtomFeedView
public AbstractAtomFeedView()
setFeedType
public void setFeedType(java.lang.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(java.util.Map<java.lang.String,java.lang.Object> model,
com.sun.syndication.feed.atom.Feed feed,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
throws java.lang.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:
java.lang.Exception - any exception that occured during building
buildFeedEntries
protected abstract java.util.List<com.sun.syndication.feed.atom.Entry> buildFeedEntries(java.util.Map<java.lang.String,java.lang.Object> model,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
throws java.lang.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:
java.lang.Exception - any exception that occured during document building- See Also:
Entry