ERXBrowser Class Reference

Inherits com::webobjects::foundation::NSKeyValueCoding.

Inherited by ERXBasicBrowser.

Collaboration diagram for ERXBrowser:

Collaboration graph
[legend]

List of all members.

Public Member Functions

abstract String browserName ()
String formValueEncoding ()
abstract String geckoRevision ()
abstract boolean isChrome ()
abstract boolean isFirefox ()
abstract boolean isICab ()
abstract boolean isIE ()
abstract boolean isIPhone ()
abstract boolean isLinux ()
abstract boolean isMacOS ()
abstract boolean isMozilla40Compatible ()
abstract boolean isMozilla45Compatible ()
abstract boolean isMozilla50Compatible ()
abstract boolean isNetscape ()
abstract boolean isNotNetscape ()
abstract boolean isOmniWeb ()
abstract boolean isOpera ()
abstract boolean isRobot ()
abstract boolean isSafari ()
abstract boolean isUnknownBrowser ()
abstract boolean isUnknownPlatform ()
abstract boolean isVersion2 ()
abstract boolean isVersion3 ()
abstract boolean isVersion4 ()
abstract boolean isVersion40 ()
abstract boolean isVersion41 ()
abstract boolean isVersion45 ()
abstract boolean isVersion5 ()
abstract boolean isVersion51 ()
abstract boolean isVersion6 ()
abstract boolean isVersion7 ()
abstract boolean isVersion8 ()
abstract boolean isVersion9 ()
abstract boolean isWindows ()
ERXMessageEncoding messageEncodingForLanguage (String language)
ERXMessageEncoding messageEncodingForLanguages (NSArray languages)
ERXMessageEncoding messageEncodingForRequest (WORequest request)
abstract String mozillaVersion ()
abstract String platform ()
void takeValueForKey (Object value, String key)
String toString ()
abstract NSDictionary userInfo ()
Object valueForKey (String key)
abstract String version ()

Static Public Attributes

static final String CHROME = "Chrome"
static final String FIREFOX = "Firefox"
static final String ICAB = "iCab"
static final String IE = "IE"
static final String IPHONE = "iPhone"
static final String LINUX = "Linux"
static final String MACOS = "MacOS"
static final String MOZILLA = "Mozilla"
static final String NETSCAPE = "Netscape"
static final String NO_GECKO = "No Gecko"
static final String OMNIWEB = "OmniWeb"
static final String OPERA = "Opera"
static final String POWER_PC = "PowerPC"
static final String ROBOT = "robot"
static final String SAFARI = "Safari"
static final String UNKNOWN_BROWSER = "Unknown Browser"
static final String UNKNOWN_CPU = "Unknown CPU"
static final String UNKNOWN_PLATFORM = "Unknown Platform"
static final String UNKNOWN_VERSION = "Unknown Version"
static final String WINDOWS = "Windows"

Private Attributes

String _toString


Detailed Description

ERXBrowser is an abstract class that defines browser object. A browser object represents the web browser that the current request-response loop 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, isVersion5 and isMozilla40Compatible.

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

One concrete browser, ERXBasicBrowser, is defined in the ERExtensions framework. It not only implements the basic questions defined by ERXBrowser, but also more specific questions like isIFrameSupported and willRenderNestedTablesFast.

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

ERXSession holds a browser object that represent the web browser for that session and browser method returns the object.

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

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


Member Function Documentation

abstract String browserName (  )  [pure virtual]

Browser name string

Returns:
what type of browser

Implemented in ERXBasicBrowser.

String formValueEncoding (  ) 

If using ERXRequest objects allows one to override on a per browser basis what form value encoding to use. Default implementation defaults to null Note that you will need to enable the property: er.extensions.ERXRequest.BrowserFormValueEncodingOverrideEnabled=true in order for the actual over ride to happen.

Returns:
form value encoding to use for this particular user-agent.

abstract String geckoRevision (  )  [pure virtual]

The revision of the gecko rendering engine. 1.0.2 and up support xslt.

Returns:
what gecko revision equivement to the browser's version

Implemented in ERXBasicBrowser.

abstract boolean isChrome (  )  [pure virtual]

Browser is Chrome?

Returns:
true if browser is Chrome.

Implemented in ERXBasicBrowser.

abstract boolean isFirefox (  )  [pure virtual]

Browser is Firefox?

Returns:
true if browser is Firefox.

Implemented in ERXBasicBrowser.

abstract boolean isICab (  )  [pure virtual]

Browser is iCab?

Returns:
true if browser is iCab.

Implemented in ERXBasicBrowser.

abstract boolean isIE (  )  [pure virtual]

Browser is Ineternet Explorer?

Returns:
true if browser is IE.

Implemented in ERXBasicBrowser.

abstract boolean isIPhone (  )  [pure virtual]

Implemented in ERXBasicBrowser.

abstract boolean isLinux (  )  [pure virtual]

Implemented in ERXBasicBrowser.

abstract boolean isMacOS (  )  [pure virtual]

Implemented in ERXBasicBrowser.

abstract boolean isMozilla40Compatible (  )  [pure virtual]

Implemented in ERXBasicBrowser.

abstract boolean isMozilla45Compatible (  )  [pure virtual]

Implemented in ERXBasicBrowser.

abstract boolean isMozilla50Compatible (  )  [pure virtual]

Implemented in ERXBasicBrowser.

abstract boolean isNetscape (  )  [pure virtual]

Browser is Netscape?

Returns:
true if browser is Netscape.

Implemented in ERXBasicBrowser.

abstract boolean isNotNetscape (  )  [pure virtual]

Browser is not Netscape?

Returns:
true if browser is not Netscape.

Implemented in ERXBasicBrowser.

abstract boolean isOmniWeb (  )  [pure virtual]

Browser is OmniWeb?

Returns:
true if browser is OmniWeb.

Implemented in ERXBasicBrowser.

abstract boolean isOpera (  )  [pure virtual]

Browser is Opera?

Returns:
true if browser is Opera.

Implemented in ERXBasicBrowser.

abstract boolean isRobot (  )  [pure virtual]

Browser is isRobot?

Returns:
true if browser is robot.

Implemented in ERXBasicBrowser.

abstract boolean isSafari (  )  [pure virtual]

Browser is Safari?

Returns:
true if browser is Safari.

Implemented in ERXBasicBrowser.

abstract boolean isUnknownBrowser (  )  [pure virtual]

Implemented in ERXBasicBrowser.

abstract boolean isUnknownPlatform (  )  [pure virtual]

Implemented in ERXBasicBrowser.

abstract boolean isVersion2 (  )  [pure virtual]

Implemented in ERXBasicBrowser.

abstract boolean isVersion3 (  )  [pure virtual]

Implemented in ERXBasicBrowser.

abstract boolean isVersion4 (  )  [pure virtual]

Implemented in ERXBasicBrowser.

abstract boolean isVersion40 (  )  [pure virtual]

Implemented in ERXBasicBrowser.

abstract boolean isVersion41 (  )  [pure virtual]

Implemented in ERXBasicBrowser.

abstract boolean isVersion45 (  )  [pure virtual]

Implemented in ERXBasicBrowser.

abstract boolean isVersion5 (  )  [pure virtual]

Implemented in ERXBasicBrowser.

abstract boolean isVersion51 (  )  [pure virtual]

Implemented in ERXBasicBrowser.

abstract boolean isVersion6 (  )  [pure virtual]

Implemented in ERXBasicBrowser.

abstract boolean isVersion7 (  )  [pure virtual]

Implemented in ERXBasicBrowser.

abstract boolean isVersion8 (  )  [pure virtual]

Implemented in ERXBasicBrowser.

abstract boolean isVersion9 (  )  [pure virtual]

Implemented in ERXBasicBrowser.

abstract boolean isWindows (  )  [pure virtual]

Implemented in ERXBasicBrowser.

ERXMessageEncoding messageEncodingForLanguage ( String  language  ) 

Gets the message encoding for a given language.

Parameters:
language to get the encoding for
Returns:
message encoding

ERXMessageEncoding messageEncodingForLanguages ( NSArray  languages  ) 

Gets the message encoding for a given array of languages.

Parameters:
languages array to get the correct encoding for
Returns:
message encoding

ERXMessageEncoding messageEncodingForRequest ( WORequest  request  ) 

Gets the message encoding for a given request. Default implementation gets the message encoding for all of the browserLanguages off of the request.

Parameters:
request to get the message encoding for
Returns:
message encoding

abstract String mozillaVersion (  )  [pure virtual]

MozillaVersion string

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

Implemented in ERXBasicBrowser.

abstract String platform (  )  [pure virtual]

Platform string

Returns:
what platform that the browser is running on

Implemented in ERXBasicBrowser.

void takeValueForKey ( Object  value,
String  key 
)

String toString (  ) 

abstract NSDictionary userInfo (  )  [pure virtual]

UserInfo dictionary

Returns:
what type of browser

Implemented in ERXBasicBrowser.

Object valueForKey ( String  key  ) 

abstract String version (  )  [pure virtual]

Version string

Returns:
what version of browser

Implemented in ERXBasicBrowser.


Member Data Documentation

String _toString [private]

final String CHROME = "Chrome" [static]

final String FIREFOX = "Firefox" [static]

final String ICAB = "iCab" [static]

final String IE = "IE" [static]

final String IPHONE = "iPhone" [static]

final String LINUX = "Linux" [static]

final String MACOS = "MacOS" [static]

final String MOZILLA = "Mozilla" [static]

final String NETSCAPE = "Netscape" [static]

final String NO_GECKO = "No Gecko" [static]

final String OMNIWEB = "OmniWeb" [static]

final String OPERA = "Opera" [static]

final String POWER_PC = "PowerPC" [static]

final String ROBOT = "robot" [static]

final String SAFARI = "Safari" [static]

final String UNKNOWN_BROWSER = "Unknown Browser" [static]

final String UNKNOWN_CPU = "Unknown CPU" [static]

final String UNKNOWN_PLATFORM = "Unknown Platform" [static]

final String UNKNOWN_VERSION = "Unknown Version" [static]

final String WINDOWS = "Windows" [static]


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