public class ERXTimeZoneDetector extends ERXStatelessComponent
timeZone
attribute of the session via a call to the setTimeZone()
method. The information is sent to the session using an ajax call.
This code determines a time zone based on minutes offset from
GMT, whether the time zone observes DST, and if DST, whether the time
zone is in the northern or southern hemisphere. Since there may be more
than one time zone that matches these values, the array of possible
values is compared against an array of preferred values if one is
supplied. If no preferred values are supplied, the zone selected is
pulled from the list of possible options in no particular order. Use
of an ERXSession
is expected/required.Name | Description |
---|---|
preferredTimeZones | an array of preferred TimeZone objects. This array takes precedence over the preferredTimeZoneIDs binding. |
preferredTimeZoneIDs | an array of preferred TimeZone id strings |
com.webobjects.appserver.WOComponent._EventLoggingEnabler, com.webobjects.appserver.WOComponent.Event
com.webobjects.foundation.NSKeyValueCodingAdditions.DefaultImplementation, com.webobjects.foundation.NSKeyValueCodingAdditions.Utility
com.webobjects.foundation.NSKeyValueCoding._BooleanFieldBinding, com.webobjects.foundation.NSKeyValueCoding._BooleanMethodBinding, com.webobjects.foundation.NSKeyValueCoding._FieldBinding, com.webobjects.foundation.NSKeyValueCoding._ForwardingBinding, com.webobjects.foundation.NSKeyValueCoding._KeyBinding, com.webobjects.foundation.NSKeyValueCoding._KeyBindingCreation, com.webobjects.foundation.NSKeyValueCoding._MethodBinding, com.webobjects.foundation.NSKeyValueCoding._NumberFieldBinding, com.webobjects.foundation.NSKeyValueCoding._NumberMethodBinding, com.webobjects.foundation.NSKeyValueCoding._ReflectionKeyBindingCreation, com.webobjects.foundation.NSKeyValueCoding.ErrorHandling, com.webobjects.foundation.NSKeyValueCoding.MapImplementation, com.webobjects.foundation.NSKeyValueCoding.Null<T>, com.webobjects.foundation.NSKeyValueCoding.UnknownKeyException, com.webobjects.foundation.NSKeyValueCoding.ValueAccessor
com.webobjects.foundation.NSValidation._MethodBinding, com.webobjects.foundation.NSValidation._ValidationBinding, com.webobjects.foundation.NSValidation.DefaultImplementation, com.webobjects.foundation.NSValidation.Utility, com.webobjects.foundation.NSValidation.ValidationException
Modifier and Type | Field and Description |
---|---|
static String |
TIMEZONE_SESSION_KEY |
_dynamicBindings
_Extension, _IsEventLoggingEnabled, _keyAssociations
Constructor and Description |
---|
ERXTimeZoneDetector(com.webobjects.appserver.WOContext context) |
Modifier and Type | Method and Description |
---|---|
static NSArray<TimeZone> |
allZones() |
String |
formValueKey() |
String |
postURL()
The ajax request URL for this component.
|
NSArray<TimeZone> |
preferredTimeZones() |
boolean |
shouldPostData()
Returns true if the component should include a script to post time zone
data back to the server.
|
void |
takeValuesFromRequest(com.webobjects.appserver.WORequest request,
com.webobjects.appserver.WOContext context)
Overridden to capture the time zone data being sent from the client.
|
static NSArray<TimeZone> |
zonesWithRawOffset(int minutes,
boolean dst,
boolean southern) |
TimeZone |
zoneWithRawOffset(int minutes,
boolean dst,
boolean southern) |
isStateless, reset
appendToResponse, invokeAction, resetCachedBindingsInStatefulComponent, synchronizesVariablesWithBindings
_awakeInContext, _checkAccess, _frameworkName, _includeCSSResources, _includeJavascriptResources, additionalCSSFiles, additionalJavascriptFiles, arrayValueForBinding, arrayValueForBinding, booleanValueForBinding, booleanValueForBinding, booleanValueForBinding, browser, checkAccess, clickToOpenEnabled, componentName, defaultCSSPath, defaultJavascriptPath, dynamicBindings, floatValueForBinding, intValueForBinding, isPageAccessAllowed, localizer, objectValueForBinding, objectValueForBinding, pageWithName, postAppendToResponse, preAppendToResponse, primaryCSSFile, primaryJavascriptFile, shouldCheckAccess, stringValueForBinding, stringValueForBinding, useDefaultComponentCSS, useDefaultComponentJavascript
__valueForBinding, _associationWithName, _childTemplate, _cleanUpStatelessComponent, _componentDefinition, _componentUnroll, _isPage, _setContext, _setIsPage, _setParent, _setSubcomponent, _sleepInContext, _subcomponentForElementWithID, _templateNameForClass, _unroll, application, awake, baseURL, bindingKeys, canAccessFieldsDirectly, canGetValueForBinding, canSetValueForBinding, clone, context, debugString, descriptionForResponse, ensureAwakeInContext, frameworkName, generateResponse, handleQueryWithUnboundKey, handleTakeValueForUnboundKey, hasBinding, hasSession, isCachingEnabled, isEventLoggingEnabled, logString, name, pageWithName, parent, path, pathURL, performParentAction, pullValuesFromParent, pushValuesToParent, session, set_componentUnroll, set_unroll, setCachingEnabled, setValueForBinding, setVariableValueForName, sleep, takeValueForKey, takeValueForKeyPath, template, templateWithHTMLString, templateWithHTMLString, templateWithHTMLString, templateWithName, toString, unableToSetNullForKey, validateTakeValueForKeyPath, validateValueForKey, validationFailedWithException, valueForBinding, valueForBooleanBinding, valueForIntegerBinding, valueForKey, valueForKeyPath, valueForNSArrayBindings, valueForNSDictionaryBindings, valueForNumberBinding, valueForStringBinding, variableValueForName, variableWithName
public static final String TIMEZONE_SESSION_KEY
public ERXTimeZoneDetector(com.webobjects.appserver.WOContext context)
public static NSArray<TimeZone> zonesWithRawOffset(int minutes, boolean dst, boolean southern)
public TimeZone zoneWithRawOffset(int minutes, boolean dst, boolean southern)
public boolean shouldPostData()
public String formValueKey()
public String postURL()
public void takeValuesFromRequest(com.webobjects.appserver.WORequest request, com.webobjects.appserver.WOContext context)
takeValuesFromRequest
in class ERXNonSynchronizingComponent
request
- from which the values will be takencontext
- of the requestCopyright © 2002 – 2020 Project Wonder.