atg.servlet
Class BrowserTyper

java.lang.Object
  extended by atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
      extended by atg.nucleus.GenericService
          extended by atg.nucleus.TimedOperationService
              extended by atg.nucleus.servlet.ServletService
                  extended by atg.nucleus.servlet.HttpServletService
                      extended by atg.servlet.DynamoServlet
                          extended by atg.servlet.BrowserTyper
All Implemented Interfaces:
NameContextBindingListener, NameContextElement, NameResolver, AdminableService, ApplicationLogging, atg.nucleus.logging.ApplicationLoggingSender, atg.nucleus.logging.TraceApplicationLogging, atg.nucleus.logging.VariableArgumentApplicationLogging, ComponentNameResolver, Service, ServiceListener, ParameterServlet, java.util.EventListener, javax.servlet.Servlet

public class BrowserTyper
extends DynamoServlet

This service allows you to determine the capabilities of a particular browser. Browsers are identified by the user-agent header field in the request. The BrowserTyper manages a list of BrowserTypes - each of which has a name that identifies it and a list of patterns for matching user-agent fields.

This class takes a single property which is a list of BrowserType.


Field Summary
static java.lang.String CLASS_VERSION
          Class version string
 
Fields inherited from class atg.servlet.DynamoServlet
mAllowCleanupRequest, mParameters
 
Fields inherited from class atg.nucleus.servlet.ServletService
SERVLET_INFO_KEY
 
Fields inherited from class atg.nucleus.GenericService
SERVICE_INFO_KEY
 
Fields inherited from interface atg.nucleus.logging.TraceApplicationLogging
DEFAULT_LOG_TRACE_STATUS
 
Fields inherited from interface atg.nucleus.logging.ApplicationLogging
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS
 
Constructor Summary
BrowserTyper()
           
 
Method Summary
 BrowserType[] getBrowserTypes()
          Returns the value of the BrowserTypes property
static boolean isBrowserType(BrowserType pType, java.lang.String pUserAgent)
          Returns true if the user agent matches the browser type.
 boolean isBrowserType(java.lang.String pType, java.lang.String pUserAgent)
          Returns true if this user agent is a member of the type specified
 void service(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          Runs through all the BrowserTypes and informs the user what features they support
 void setBrowserTypes(BrowserType[] pTypes)
          Sets the list of BrowserTypes for this component
 
Methods inherited from class atg.servlet.DynamoServlet
doDelete, doGet, doPost, doPut, getParameter, getParameters, getServletContext, service, service, setParameter
 
Methods inherited from class atg.nucleus.servlet.ServletService
destroy, getServletConfig, getServletInfo, init, setServletInfo
 
Methods inherited from class atg.nucleus.TimedOperationService
getAverageRequestHandlingTime, getHandledRequestCount, getRequestStartTime, getTotalRequestHandlingTime, isKeepingStatistics, notifyHandledRequest, resetStatistics, setKeepingStatistics
 
Methods inherited from class atg.nucleus.GenericService
addLogListener, createAdminServlet, doStartService, doStopService, getAbsoluteName, getAdminServlet, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService
 
Methods inherited from class atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLASS_VERSION

public static java.lang.String CLASS_VERSION
Class version string

Constructor Detail

BrowserTyper

public BrowserTyper()
Method Detail

service

public void service(DynamoHttpServletRequest pRequest,
                    DynamoHttpServletResponse pResponse)
             throws javax.servlet.ServletException,
                    java.io.IOException
Runs through all the BrowserTypes and informs the user what features they support

Overrides:
service in class DynamoServlet
Parameters:
pRequest - the request to be processed
pResponse - the response object for this request
Throws:
javax.servlet.ServletException - an application specific error occurred processing this request
java.io.IOException - an error occurred reading data from the request or writing data to the response.

isBrowserType

public boolean isBrowserType(java.lang.String pType,
                             java.lang.String pUserAgent)
Returns true if this user agent is a member of the type specified

Throws:
java.util.NoSuchElementException - if the type specified is not a recognized browser type.

isBrowserType

public static boolean isBrowserType(BrowserType pType,
                                    java.lang.String pUserAgent)
Returns true if the user agent matches the browser type.

Throws:
java.util.NoSuchElementException - if the type specified does not have any matching patterns.

setBrowserTypes

public void setBrowserTypes(BrowserType[] pTypes)
Sets the list of BrowserTypes for this component


getBrowserTypes

public BrowserType[] getBrowserTypes()
Returns the value of the BrowserTypes property