org.juniverse.utils
Class BrowserDetector

java.lang.Object
  |
  +--org.juniverse.utils.BrowserDetector

public class BrowserDetector
extends java.lang.Object

This class is original from the Apache Turbine Project.
This class parses the user agent string and sets javasciptOK and cssOK following the rules described below. If you want to check for specific browsers/versions then use this class to parse the user agent string and use the accessor methods in this class. JavaScriptOK means that the browser understands JavaScript on the same level the Navigator 3 does. Specifically, it can use named images. This allows easier rollovers. If a browser doesn't do this (Nav 2 or MSIE 3), then we just assume it can't do any JavaScript. Referencing images by load order is too hard to maintain. CSSOK is kind of sketchy in that Nav 4 and MSIE work differently, but they do seem to have most of the functionality. MSIE 4 for the Mac has buggy CSS support, so we let it do JavaScript, but no CSS. Ported from Leon's PHP code at http://www.working-dogs.com/freetrade by Frank.

Version:
$Id: BrowserDetector.java,v 1.1.1.1 2001/08/16 05:09:37 jvanzyl Exp $
Author:
Frank Y. Kim
, Leon Atkisnon , Chris Mospaw , Benjamin Elijah Griffin

Field Summary
private  java.lang.String browserName
          The browser name specified in the user agent string.
private  java.lang.String browserPlatform
          The browser platform specified in the user agent string.
private  float browserVersion
          The browser version specified in the user agent string.
private  boolean cssOK
          Whether or not CSS works in this browser.
private  boolean fileUploadOK
          Whether or not file upload works in this browser.
private  boolean javascriptOK
          Whether or not javascript works in this browser.
static java.lang.String MACINTOSH
           
static java.lang.String MOZILLA
           
static java.lang.String MSIE
          Constants used by this class.
static java.lang.String OPERA
           
static java.lang.String UNIX
           
private  java.lang.String userAgentString
          The user agent string.
static java.lang.String WINDOWS
           
 
Constructor Summary
BrowserDetector(javax.servlet.http.HttpServletRequest request)
          Constructor used to initialize this class.
BrowserDetector(java.lang.String userAgentString)
          Constructor used to initialize this class.
 
Method Summary
 java.lang.String getBrowserName()
          The browser name specified in the user agent string.
 java.lang.String getBrowserPlatform()
          The browser platform specified in the user agent string.
 float getBrowserVersion()
          The browser version specified in the user agent string.
 java.lang.String getUserAgentString()
          The user agent string for this class.
 boolean isCssOK()
          Whether or not CSS works in this browser.
 boolean isFileUploadOK()
          Whether or not file upload works in this browser.
 boolean isJavascriptOK()
          Whether or not Javascript works in this browser.
private  void parse()
          Helper method to initialize this class.
private  float toFloat(java.lang.String s)
          Helper method to conver String to a float.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

userAgentString

private java.lang.String userAgentString
The user agent string.


browserName

private java.lang.String browserName
The browser name specified in the user agent string.


browserVersion

private float browserVersion
The browser version specified in the user agent string. If we can't parse the version just assume an old browser.


browserPlatform

private java.lang.String browserPlatform
The browser platform specified in the user agent string.


javascriptOK

private boolean javascriptOK
Whether or not javascript works in this browser.


cssOK

private boolean cssOK
Whether or not CSS works in this browser.


fileUploadOK

private boolean fileUploadOK
Whether or not file upload works in this browser.


MSIE

public static final java.lang.String MSIE
Constants used by this class.

See Also:
Constant Field Values

OPERA

public static final java.lang.String OPERA
See Also:
Constant Field Values

MOZILLA

public static final java.lang.String MOZILLA
See Also:
Constant Field Values

WINDOWS

public static final java.lang.String WINDOWS
See Also:
Constant Field Values

UNIX

public static final java.lang.String UNIX
See Also:
Constant Field Values

MACINTOSH

public static final java.lang.String MACINTOSH
See Also:
Constant Field Values
Constructor Detail

BrowserDetector

public BrowserDetector(java.lang.String userAgentString)
Constructor used to initialize this class.

Parameters:
userAgentString - A String with the user agent field.

BrowserDetector

public BrowserDetector(javax.servlet.http.HttpServletRequest request)
Constructor used to initialize this class.

Parameters:
request - a HttpServletRequest
Method Detail

isCssOK

public boolean isCssOK()
Whether or not CSS works in this browser.

Returns:
True if CSS works in this browser.

isFileUploadOK

public boolean isFileUploadOK()
Whether or not file upload works in this browser.

Returns:
True if file upload works in this browser.

isJavascriptOK

public boolean isJavascriptOK()
Whether or not Javascript works in this browser.

Returns:
True if Javascript works in this browser.

getBrowserName

public java.lang.String getBrowserName()
The browser name specified in the user agent string.

Returns:
A String with the browser name.

getBrowserPlatform

public java.lang.String getBrowserPlatform()
The browser platform specified in the user agent string.

Returns:
A String with the browser platform.

getBrowserVersion

public float getBrowserVersion()
The browser version specified in the user agent string.

Returns:
A String with the browser version.

getUserAgentString

public java.lang.String getUserAgentString()
The user agent string for this class.

Returns:
A String with the user agent.

parse

private void parse()
Helper method to initialize this class.


toFloat

private float toFloat(java.lang.String s)
Helper method to conver String to a float.

Parameters:
s - A String.
Returns:
The String converted to float.