org.jasig.cas.services.web
Class ServiceThemeResolver

java.lang.Object
  extended by org.springframework.web.servlet.theme.AbstractThemeResolver
      extended by org.jasig.cas.services.web.ServiceThemeResolver
All Implemented Interfaces:
org.springframework.web.servlet.ThemeResolver

public final class ServiceThemeResolver
extends org.springframework.web.servlet.theme.AbstractThemeResolver

ThemeResolver to determine the theme for CAS based on the service provided. The theme resolver will extract the service parameter from the Request object and attempt to match the URL provided to a Service Id. If the service is found, the theme associated with it will be used. If not, these is associated with the service or the service was not found, a default theme will be used.

Since:
3.0
Version:
$Revision: 47956 $ $Date: 2010-02-19 23:09:21 -0500 (Fri, 19 Feb 2010) $
Author:
Scott Battaglia

Field Summary
 
Fields inherited from class org.springframework.web.servlet.theme.AbstractThemeResolver
ORIGINAL_DEFAULT_THEME_NAME
 
Constructor Summary
ServiceThemeResolver()
           
 
Method Summary
 java.lang.String resolveThemeName(javax.servlet.http.HttpServletRequest request)
           
 void setArgumentExtractors(java.util.List<ArgumentExtractor> argumentExtractors)
           
 void setMobileBrowsers(java.util.Map<java.lang.String,java.lang.String> mobileOverrides)
          Sets the map of mobile browsers.
 void setServicesManager(ServicesManager servicesManager)
           
 void setThemeName(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String themeName)
           
 
Methods inherited from class org.springframework.web.servlet.theme.AbstractThemeResolver
getDefaultThemeName, setDefaultThemeName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ServiceThemeResolver

public ServiceThemeResolver()
Method Detail

resolveThemeName

public java.lang.String resolveThemeName(javax.servlet.http.HttpServletRequest request)

setThemeName

public void setThemeName(javax.servlet.http.HttpServletRequest request,
                         javax.servlet.http.HttpServletResponse response,
                         java.lang.String themeName)

setServicesManager

public void setServicesManager(ServicesManager servicesManager)

setArgumentExtractors

public void setArgumentExtractors(java.util.List<ArgumentExtractor> argumentExtractors)

setMobileBrowsers

public void setMobileBrowsers(java.util.Map<java.lang.String,java.lang.String> mobileOverrides)
Sets the map of mobile browsers. This sets a flag on the request called "isMobile" and also provides the custom flag called browserType which can be mapped into the theme.

Themes that understand isMobile should provide an alternative stylesheet.

Parameters:
mobileOverrides - the list of mobile browsers.


Copyright © 2004-2010 Java Architectures Special Interest Group. All Rights Reserved.