com.randomcoder.feed
Class AbstractFeedController

java.lang.Object
  extended by org.springframework.context.support.ApplicationObjectSupport
      extended by org.springframework.web.context.support.WebApplicationObjectSupport
          extended by org.springframework.web.servlet.support.WebContentGenerator
              extended by org.springframework.web.servlet.mvc.AbstractController
                  extended by com.randomcoder.feed.AbstractFeedController
All Implemented Interfaces:
org.springframework.context.ApplicationContextAware, org.springframework.web.context.ServletContextAware, org.springframework.web.servlet.mvc.Controller
Direct Known Subclasses:
AllFeedController

public abstract class AbstractFeedController
extends org.springframework.web.servlet.mvc.AbstractController

Base class for syndicated feed controllers.

 Copyright (c) 2007, Craig Condit. All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
 
   * Redistributions of source code must retain the above copyright notice,
     this list of conditions and the following disclaimer.
   * Redistributions in binary form must reproduce the above copyright notice,
     this list of conditions and the following disclaimer in the documentation
     and/or other materials provided with the distribution.
     
 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 POSSIBILITY OF SUCH DAMAGE.
 


Field Summary
 
Fields inherited from class org.springframework.web.servlet.support.WebContentGenerator
METHOD_GET, METHOD_HEAD, METHOD_POST
 
Fields inherited from class org.springframework.context.support.ApplicationObjectSupport
logger
 
Constructor Summary
AbstractFeedController()
           
 
Method Summary
protected  String getAppPath(HttpServletRequest request)
          Gets the path of the current request relative to the context path.
protected abstract  FeedInfo getFeed(HttpServletRequest request, HttpServletResponse response, String... params)
          Gets the information necessary to generate the feed.
protected  org.springframework.web.servlet.ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response)
           
 void setFeedGenerator(FeedGenerator feedGenerator)
          Sets the feed generator to use.
 void setUrlPrefix(String urlPrefix)
          Sets the URL prefix for this feed.
 
Methods inherited from class org.springframework.web.servlet.mvc.AbstractController
handleRequest, isSynchronizeOnSession, setSynchronizeOnSession
 
Methods inherited from class org.springframework.web.servlet.support.WebContentGenerator
applyCacheSeconds, applyCacheSeconds, cacheForSeconds, cacheForSeconds, checkAndPrepare, checkAndPrepare, getCacheSeconds, getSupportedMethods, isRequireSession, isUseCacheControlHeader, isUseExpiresHeader, preventCaching, setCacheSeconds, setRequireSession, setSupportedMethods, setUseCacheControlHeader, setUseExpiresHeader
 
Methods inherited from class org.springframework.web.context.support.WebApplicationObjectSupport
getServletContext, getTempDir, getWebApplicationContext, 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, toString, wait, wait, wait
 

Constructor Detail

AbstractFeedController

public AbstractFeedController()
Method Detail

setUrlPrefix

public final void setUrlPrefix(String urlPrefix)
Sets the URL prefix for this feed.

Parameters:
urlPrefix - URL prefix

setFeedGenerator

public void setFeedGenerator(FeedGenerator feedGenerator)
Sets the feed generator to use.

Parameters:
feedGenerator - feed generator

handleRequestInternal

protected org.springframework.web.servlet.ModelAndView handleRequestInternal(HttpServletRequest request,
                                                                             HttpServletResponse response)
                                                                      throws Exception
Specified by:
handleRequestInternal in class org.springframework.web.servlet.mvc.AbstractController
Throws:
Exception

getFeed

protected abstract FeedInfo getFeed(HttpServletRequest request,
                                    HttpServletResponse response,
                                    String... params)
                             throws Exception
Gets the information necessary to generate the feed.

Parameters:
request - HTTP request
response - HTTP response
params - additional paramaters taken from the path
Returns:
feed information
Throws:
Exception - if an error occurs

getAppPath

protected final String getAppPath(HttpServletRequest request)
Gets the path of the current request relative to the context path.

Parameters:
request - HTTP request
Returns:
app path


Copyright © 2006-2008 Craig Condit. All Rights Reserved.