|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
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<T>
public abstract class AbstractFeedView<T extends com.sun.syndication.feed.WireFeed>
Abstract base class for Atom and RSS Feed views, using java.net's ROME package.
Application-specific view classes will typically extend from either
AbstractRssFeedView
or AbstractAtomFeedView
instead of from this class.
Thanks to Jettro Coenradie and Sergio Bossa for the original feed view prototype!
AbstractRssFeedView
,
AbstractAtomFeedView
Field Summary |
---|
Fields inherited from class org.springframework.web.servlet.view.AbstractView |
---|
DEFAULT_CONTENT_TYPE |
Fields inherited from class org.springframework.context.support.ApplicationObjectSupport |
---|
logger |
Fields inherited from interface org.springframework.web.servlet.View |
---|
PATH_VARIABLES, RESPONSE_STATUS_ATTRIBUTE |
Constructor Summary | |
---|---|
AbstractFeedView()
|
Method Summary | |
---|---|
protected abstract void |
buildFeedEntries(Map<String,Object> model,
T feed,
HttpServletRequest request,
HttpServletResponse response)
Subclasses must implement this method to build feed entries, given the model. |
protected void |
buildFeedMetadata(Map<String,Object> model,
T feed,
HttpServletRequest request)
Populate the feed metadata (title, link, description, etc.). |
protected abstract T |
newFeed()
Create a new feed to hold the entries. |
protected void |
renderMergedOutputModel(Map<String,Object> model,
HttpServletRequest request,
HttpServletResponse response)
Subclasses must implement this method to actually render the view. |
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 |
Constructor Detail |
---|
public AbstractFeedView()
Method Detail |
---|
protected final void renderMergedOutputModel(Map<String,Object> model, HttpServletRequest request, HttpServletResponse response) throws Exception
AbstractView
The first step will be preparing the request: In the JSP case, this would mean setting model objects as request attributes. The second step will be the actual rendering of the view, for example including the JSP via a RequestDispatcher.
renderMergedOutputModel
in class AbstractView
model
- combined output Map (never null
),
with dynamic values taking precedence over static attributesrequest
- current HTTP requestresponse
- current HTTP response
Exception
- if rendering failedprotected abstract T newFeed()
protected void buildFeedMetadata(Map<String,Object> model, T feed, HttpServletRequest request)
Default is an empty implementation. Subclasses can override this method to add meta fields such as title, link description, etc.
model
- the model, in case meta information must be populated from itfeed
- the feed being populatedrequest
- in case we need locale etc. Shouldn't look at attributes.protected abstract void buildFeedEntries(Map<String,Object> model, T feed, HttpServletRequest request, HttpServletResponse response) throws Exception
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.
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.
Exception
- any exception that occured during building
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |