ERXBasicBrowser Class Reference

Inherits er::extensions::appserver::ERXBrowser.

Collaboration diagram for ERXBasicBrowser:

Collaboration graph
[legend]

List of all members.

Public Member Functions

String browserName ()
String cpu ()
 ERXBasicBrowser (String browserName, String version, String mozillaVersion, String platform, NSDictionary userInfo)
String geckoRevision ()
boolean isChrome ()
boolean isFirefox ()
boolean isICab ()
boolean isIE ()
boolean isIFrameSupported ()
boolean isIPhone ()
boolean isJavaScriptOnImageButtonSupported ()
boolean isLinux ()
boolean isMacOS ()
boolean isMozilla ()
boolean isMozilla40Compatible ()
boolean isMozilla45Compatible ()
boolean isMozilla50Compatible ()
boolean isNetscape ()
boolean isNotNetscape ()
boolean isOmniWeb ()
boolean isOpera ()
boolean isRobot ()
boolean isSafari ()
boolean isUnknownBrowser ()
boolean isUnknownPlatform ()
boolean isVersion2 ()
boolean isVersion3 ()
boolean isVersion4 ()
boolean isVersion40 ()
boolean isVersion41 ()
boolean isVersion45 ()
boolean isVersion5 ()
boolean isVersion51 ()
boolean isVersion6 ()
boolean isVersion7 ()
boolean isVersion8 ()
boolean isVersion9 ()
boolean isWindows ()
String mozillaVersion ()
String platform ()
NSDictionary userInfo ()
String version ()
boolean willRenderNestedTablesFast ()

Static Public Attributes

static final Logger log = Logger.getLogger(ERXBasicBrowser.class)

Private Attributes

final String _browserName
final String _cpu
final String _geckoRevision
final boolean _isChrome
final boolean _isFirefox
final boolean _isICab
final boolean _isIE
final boolean _isIPhone
final boolean _isLinux
final boolean _isMacOS
final boolean _isMozilla
final boolean _isMozillaVersion40
final boolean _isMozillaVersion45
final boolean _isMozillaVersion50
final boolean _isNetscape
final boolean _isOmniWeb
final boolean _isOpera
final boolean _isRobot
final boolean _isSafari
final boolean _isUnknownBrowser
final boolean _isUnknownPlatform
final boolean _isVersion2
final boolean _isVersion3
final boolean _isVersion4
final boolean _isVersion40
final boolean _isVersion41
final boolean _isVersion45
final boolean _isVersion5
final boolean _isVersion51
final boolean _isVersion6
final boolean _isVersion7
final boolean _isVersion8
final boolean _isVersion9
final boolean _isWindows
final String _mozillaVersion
final String _platform
final NSDictionary _userInfo
final String _version


Detailed Description

ERXBasicBrowser is a concrete subclass of ERXBrowser that defines browser object. A browser object represents the web browser that the current request-response cycle is dealing with. It holds the information retrieved from HTTP request's "user-agent" header, and such information includes web browser's name, version, Mozilla compatible version and platform (OS). Also, a browser object can answer boolean questions such as isIE,isOmniWeb, isVersion5and isMozilla40Compatible, and even more specific questions like isIFrameSupportedand willRenderNestedTablesFast.

ERXBasicBrowser is immutable and shared by different sessions and direct actions. The shared instances are managed by ERXBrowserFactorywhich is also responsible to parse "user-agent" header in a WORequestobject and to get an appropriate browser object.

You can extends ERXBasicBrowser or its abstract parent ERXBrowser to implement more specific questions for your application. One potencial example will be to have a question isSupportedBrowser that checks if the client is using one of the supported browsers for your application.

ERXSessionholds a browser object that represent the web browser for that session and browser()method returns the object.

To access ERXBasicBrowser's boolean questions from WOConditionals on a web component, set the key path like "session.brower.isNetscape" to their condition bindings.

ERXDirectActionalso holds a browser object for the current request. Use its browser()method to access the object from a session-less direct action.

Some browser user-agents:

IE 5.17 OS 9: user-agent = (Mozilla/4.0 (compatible; MSIE 5.17; Mac_PowerPC)); ua-os = (MacOS); ua-cpu = (PPC);

IE 5.0 OS 9: user-agent = (Mozilla/4.0 (compatible; MSIE 5.0; Mac_PowerPC)); ua-os = (MacOS); ua-cpu = (PPC);

FireFox OS X 10.3.3: user-agent = (Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.6) Gecko/20040206 Firefox/0.8);

IE 5.2 MacOS X: user-agent = (Mozilla/4.0 (compatible; MSIE 5.23; Mac_PowerPC)); ua-os = (MacOS); ua-cpu = (PPC);

Safari: user-agent = ("Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/124 (KHTML, like Gecko) Safari/125.1");

IE WIndows 6.02: user-agent = (Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0));


Constructor & Destructor Documentation

ERXBasicBrowser ( String  browserName,
String  version,
String  mozillaVersion,
String  platform,
NSDictionary  userInfo 
)


Member Function Documentation

String browserName (  )  [virtual]

Browser name string

Returns:
what type of browser

Implements ERXBrowser.

String cpu (  ) 

CPU string

Returns:
what processor that the browser is running on

String geckoRevision (  )  [virtual]

Returns the gecko revision of the browser or ERXBrowser#NO_GECKO.

Returns:
the gecko revision of the browser or ERXBrowser#NO_GECKO.

Implements ERXBrowser.

boolean isChrome (  )  [virtual]

Browser is Chrome?

Returns:
true if browser is Chrome.

Implements ERXBrowser.

boolean isFirefox (  )  [virtual]

Browser is Firefox?

Returns:
true if browser is Firefox.

Implements ERXBrowser.

boolean isICab (  )  [virtual]

Browser is iCab?

Returns:
true if browser is iCab.

Implements ERXBrowser.

boolean isIE (  )  [virtual]

Browser is Ineternet Explorer?

Returns:
true if browser is IE.

Implements ERXBrowser.

boolean isIFrameSupported (  ) 

Does the browser support IFrames?

Returns:
true if the browser is IE.

boolean isIPhone (  )  [virtual]

Implements ERXBrowser.

boolean isJavaScriptOnImageButtonSupported (  ) 

boolean isLinux (  )  [virtual]

Implements ERXBrowser.

boolean isMacOS (  )  [virtual]

Implements ERXBrowser.

boolean isMozilla (  ) 

boolean isMozilla40Compatible (  )  [virtual]

Implements ERXBrowser.

boolean isMozilla45Compatible (  )  [virtual]

Implements ERXBrowser.

boolean isMozilla50Compatible (  )  [virtual]

Implements ERXBrowser.

boolean isNetscape (  )  [virtual]

Browser is Netscape?

Returns:
true if browser is Netscape.

Implements ERXBrowser.

boolean isNotNetscape (  )  [virtual]

Browser is not Netscape?

Returns:
true if browser is not Netscape.

Implements ERXBrowser.

boolean isOmniWeb (  )  [virtual]

Browser is OmniWeb?

Returns:
true if browser is OmniWeb.

Implements ERXBrowser.

boolean isOpera (  )  [virtual]

Browser is Opera?

Returns:
true if browser is Opera.

Implements ERXBrowser.

boolean isRobot (  )  [virtual]

Browser is isRobot?

Returns:
true if browser is robot.

Implements ERXBrowser.

boolean isSafari (  )  [virtual]

Browser is Safari?

Returns:
true if browser is Safari.

Implements ERXBrowser.

boolean isUnknownBrowser (  )  [virtual]

Implements ERXBrowser.

boolean isUnknownPlatform (  )  [virtual]

Implements ERXBrowser.

boolean isVersion2 (  )  [virtual]

Implements ERXBrowser.

boolean isVersion3 (  )  [virtual]

Implements ERXBrowser.

boolean isVersion4 (  )  [virtual]

Implements ERXBrowser.

boolean isVersion40 (  )  [virtual]

Implements ERXBrowser.

boolean isVersion41 (  )  [virtual]

Implements ERXBrowser.

boolean isVersion45 (  )  [virtual]

Implements ERXBrowser.

boolean isVersion5 (  )  [virtual]

Implements ERXBrowser.

boolean isVersion51 (  )  [virtual]

Implements ERXBrowser.

boolean isVersion6 (  )  [virtual]

Implements ERXBrowser.

boolean isVersion7 (  )  [virtual]

Implements ERXBrowser.

boolean isVersion8 (  )  [virtual]

Implements ERXBrowser.

boolean isVersion9 (  )  [virtual]

Implements ERXBrowser.

boolean isWindows (  )  [virtual]

Implements ERXBrowser.

String mozillaVersion (  )  [virtual]

MozillaVersion string

Returns:
what Mozilla version equivement to the browser's version

Implements ERXBrowser.

String platform (  )  [virtual]

Platform string

Returns:
what platform that the browser is running on

Implements ERXBrowser.

NSDictionary userInfo (  )  [virtual]

UserInfo dictionary

Returns:
what type of browser

Implements ERXBrowser.

String version (  )  [virtual]

Version string

Returns:
what version of browser

Implements ERXBrowser.

boolean willRenderNestedTablesFast (  ) 

Browser is not netscape or is a version 5 browser.

Returns:
true if this browser can handle nested tables


Member Data Documentation

final String _browserName [private]

final String _cpu [private]

final String _geckoRevision [private]

final boolean _isChrome [private]

final boolean _isFirefox [private]

final boolean _isICab [private]

final boolean _isIE [private]

final boolean _isIPhone [private]

final boolean _isLinux [private]

final boolean _isMacOS [private]

final boolean _isMozilla [private]

final boolean _isMozillaVersion40 [private]

final boolean _isMozillaVersion45 [private]

final boolean _isMozillaVersion50 [private]

final boolean _isNetscape [private]

final boolean _isOmniWeb [private]

final boolean _isOpera [private]

final boolean _isRobot [private]

final boolean _isSafari [private]

final boolean _isUnknownBrowser [private]

final boolean _isUnknownPlatform [private]

final boolean _isVersion2 [private]

final boolean _isVersion3 [private]

final boolean _isVersion4 [private]

final boolean _isVersion40 [private]

final boolean _isVersion41 [private]

final boolean _isVersion45 [private]

final boolean _isVersion5 [private]

final boolean _isVersion51 [private]

final boolean _isVersion6 [private]

final boolean _isVersion7 [private]

final boolean _isVersion8 [private]

final boolean _isVersion9 [private]

final boolean _isWindows [private]

final String _mozillaVersion [private]

final String _platform [private]

final NSDictionary _userInfo [private]

final String _version [private]

final Logger log = Logger.getLogger(ERXBasicBrowser.class) [static]

logging support


The documentation for this class was generated from the following file:

Generated on Sat May 26 06:43:01 2012 for Project Wonder by  doxygen 1.5.8