public abstract class

AbstractAtomFeedView

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

Class Overview

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

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

Summary

Constants
String DEFAULT_FEED_TYPE
[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
AbstractAtomFeedView()
Public Methods
void setFeedType(String feedType)
Sets the Rome feed type to use.
Protected Methods
abstract List<Entry> buildFeedEntries(Map<StringObject> model, HttpServletRequest request, HttpServletResponse response)
Subclasses must implement this method to build feed entries, given the model.
final void buildFeedEntries(Map<StringObject> model, Feed feed, HttpServletRequest request, HttpServletResponse response)
Feed newFeed()
Create a new Feed 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

Constants

public static final String DEFAULT_FEED_TYPE

Constant Value: "atom_1.0"

Public Constructors

public AbstractAtomFeedView ()

Public Methods

public void setFeedType (String feedType)

Sets the Rome feed type to use.

Defaults to Atom 1.0.

See Also

Protected Methods

protected abstract List<Entry> buildFeedEntries (Map<StringObject> model, HttpServletRequest request, HttpServletResponse response)

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 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 entries to be added to the feed
Throws
Exception any exception that occured during document building
See Also
  • Entry

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

Parameters
model the model Map
feed 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 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.

Returns
  • the newly created Feed instance