public abstract class

AbstractRssFeedView

extends AbstractFeedView<T extends WireFeed>
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 extends WireFeed>
           ↳ org.springframework.web.servlet.view.feed.AbstractRssFeedView

Class Overview

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 buildFeedMetadata(Map, WireFeed, HttpServletRequest) and buildFeedItems(Map, HttpServletRequest, HttpServletResponse).

Thanks to Jettro Coenradie and Sergio Bossa for the original feed view prototype!

Summary

[Expand]
Inherited Constants
From class org.springframework.web.servlet.view.AbstractView
[Expand]
Inherited Fields
From class org.springframework.context.support.ApplicationObjectSupport
From interface org.springframework.web.servlet.View
Public Constructors
AbstractRssFeedView()
Protected Methods
final void buildFeedEntries(Map<StringObject> model, Channel channel, HttpServletRequest request, HttpServletResponse response)
abstract List<Item> buildFeedItems(Map<StringObject> model, HttpServletRequest request, HttpServletResponse response)
Subclasses must implement this method to build feed items, given the model.
Channel newFeed()
Create a new Channel instance to hold the entries.
[Expand]
Inherited Methods
From class org.springframework.web.servlet.view.feed.AbstractFeedView
From class org.springframework.web.servlet.view.AbstractView
From class org.springframework.web.context.support.WebApplicationObjectSupport
From class org.springframework.context.support.ApplicationObjectSupport
From class java.lang.Object
From interface org.springframework.beans.factory.BeanNameAware
From interface org.springframework.context.ApplicationContextAware
From interface org.springframework.web.context.ServletContextAware
From interface org.springframework.web.servlet.View

Public Constructors

public AbstractRssFeedView ()

Protected Methods

protected final void buildFeedEntries (Map<StringObject> model, Channel channel, HttpServletRequest request, HttpServletResponse response)

Parameters
model the model Map
channel the feed to add entries to
request 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

protected abstract List<Item> buildFeedItems (Map<StringObject> model, HttpServletRequest request, HttpServletResponse response)

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 Map
request 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

protected 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.

Returns
  • the newly created Feed instance