|
Project Wonder 5.0 | |||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.webobjects.appserver.WOSession
er.extensions.appserver.ajax.ERXAjaxSession
er.extensions.appserver.ERXSession
public class ERXSession
The ERXSession aguments the regular WOSession object by adding a few nice additions. Of interest, notifications are now posted when a session when a session goes to sleep, David Neumann's browser backtracking detection has been added from his security framework, a somewhat comprehensive user-agent parsing is provided to know what type of browser is being used, flags have also been added to tell if javascript has been enabled, and enhanced localization support has been added.
Nested Class Summary | |
---|---|
static class |
ERXSession.Observer
The Observer inner class encapsulates functions to handle various notifications. |
Nested classes/interfaces inherited from interface com.webobjects.foundation.NSKeyValueCodingAdditions |
---|
com.webobjects.foundation.NSKeyValueCodingAdditions.DefaultImplementation, com.webobjects.foundation.NSKeyValueCodingAdditions.Utility |
Nested classes/interfaces inherited from interface com.webobjects.foundation.NSKeyValueCoding |
---|
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.Null, com.webobjects.foundation.NSKeyValueCoding.UnknownKeyException, com.webobjects.foundation.NSKeyValueCoding.ValueAccessor |
Field Summary | |
---|---|
protected com.webobjects.foundation.NSMutableDictionary |
_debuggingStore
holds a debugging store for a given session. |
protected java.lang.Boolean |
_didBacktrack
flag to indicate if the user is currently backtracking, meaning they hit the back button and then clicked on a link. |
protected java.lang.Boolean |
_javaScriptEnabled
flag for if java script is enabled |
java.lang.String |
_originalThreadName
_originalThreadName holds the original name from the WorkerThread which is the value before executing awake() |
static java.lang.String |
JAVASCRIPT_ENABLED_COOKIE_NAME
cookie name that if set it means that the user has cookies enabled |
boolean |
lastActionWasDA
flag to indicate if the last action was a direct action |
static org.apache.log4j.Logger |
log
logging support |
static java.lang.String |
SessionWillAwakeNotification
Notification name that is posted after a session wakes up. |
static java.lang.String |
SessionWillSleepNotification
Notification name that is posted when a session is about to sleep. |
Fields inherited from class er.extensions.appserver.ajax.ERXAjaxSession |
---|
_permanentContextIDArray, _permanentPageCache, DONT_STORE_PAGE, FORCE_STORE_PAGE, PAGE_REPLACEMENT_CACHE_LOOKUP_KEY |
Fields inherited from class com.webobjects.appserver.WOSession |
---|
_componentState, _httpSession, _httpSessionWatcher, SessionDidCreateNotification, SessionDidRestoreNotification, SessionDidTimeOutNotification |
Fields inherited from interface com.webobjects.foundation.NSKeyValueCoding.ErrorHandling |
---|
_CLASS |
Fields inherited from interface com.webobjects.foundation.NSKeyValueCodingAdditions |
---|
_CLASS, _KeyPathSeparatorChar, KeyPathSeparator |
Fields inherited from interface com.webobjects.foundation.NSKeyValueCoding |
---|
NullValue |
Constructor Summary | |
---|---|
ERXSession()
|
|
ERXSession(java.lang.String sessionID)
|
Method Summary | |
---|---|
void |
_appendCookieToResponse(com.webobjects.appserver.WOResponse response)
|
com.webobjects.foundation.NSTimestamp |
_birthDate()
|
void |
_clearCookieFromResponse(com.webobjects.appserver.WOResponse response)
|
protected void |
_convertSessionCookiesToSecure(com.webobjects.appserver.WOResponse response)
|
static com.webobjects.appserver.WOSession |
anySession()
|
void |
appendToResponse(com.webobjects.appserver.WOResponse aResponse,
com.webobjects.appserver.WOContext aContext)
Provides automatic encoding support for component action with messageEncoding object. |
ERXApplication |
application()
Bringing application into KVC. |
static boolean |
autoAdjustTimeZone()
If the property er.extensions.ERXSession.autoAdjustTimeZone=true then WOStrings and WOTextFields with dateFormat bindings will be have their formatter automatically adjusted for the selected session time zone. |
com.webobjects.foundation.NSArray |
availableLanguagesForTheApplication()
Returns the NSArray of language names available for this application. |
com.webobjects.foundation.NSArray |
availableLanguagesForThisSession()
Returns the NSArray of language names available for this particular session. |
void |
awake()
Overridden to provide a few checks to see if javascript is enabled. |
ERXBrowser |
browser()
Returns the browser object representing the web browser's "user-agent" string. |
static java.lang.String |
currentSessionID()
|
com.webobjects.foundation.NSMutableDictionary |
debuggingStore()
Simple mutable dictionary that can be used at runtime to stash objects that can be useful for debugging. |
com.webobjects.eocontrol.EOEditingContext |
defaultEditingContext()
Ensures that the returned editingContext was created with the ERXEC factory. |
boolean |
didBacktrack()
Method inspects the passed in request to see if the user backtracked. |
boolean |
javaScriptEnabled()
Returns if this user has javascript enabled. |
java.lang.String |
language()
Returns the primary language of the current session's localizer. |
ERXLocalizer |
localizer()
Method to get the current localizer for this session. |
ERXMessageEncoding |
messageEncoding()
Returns the message encoding of the current session. |
com.webobjects.eocontrol.EOEditingContext |
newDefaultEditingContext()
|
com.webobjects.foundation.NSKeyValueCodingAdditions |
objectStore()
This is a cover method which enables use of the session's object store which is usually access with setObjectForKey and objectForKey. |
ERXSession.Observer |
observer()
returns the observer object for this session. |
java.lang.String |
requestsContextID(com.webobjects.appserver.WORequest aRequest)
Utility method that gets the context ID string from the passed in request. |
static ERXSession |
session()
|
void |
setDefaultEditingContext(com.webobjects.eocontrol.EOEditingContext ec)
|
void |
setJavaScriptEnabled(boolean newValue)
Sets if javascript is enabled for this session. |
void |
setLanguage(java.lang.String language)
Cover method to set the current localizer to the localizer for that language. |
void |
setLanguages(com.webobjects.foundation.NSArray languageList)
Sets the languages list for which the session is localized. |
static void |
setSession(ERXSession session)
|
void |
setTimeZone(java.util.TimeZone timeZone)
|
void |
sleep()
Overridden to post the notification that the session will sleep. |
void |
takeValuesFromRequest(com.webobjects.appserver.WORequest aRequest,
com.webobjects.appserver.WOContext aContext)
Provides automatic encoding support for component action with messageEncoding object. |
void |
terminate()
Overrides terminate to free up resources and unregister for notifications. |
java.lang.String |
threadName()
override this method in order to provide a different name for the WorkerThread for this rr loop very useful for logging stuff: assign a log statement to a log entry. |
java.util.TimeZone |
timeZone()
|
java.lang.String |
toString()
|
boolean |
useSecureSessionCookies()
Override and return true, or set er.extensions.ERXSession.useSecureSessionCookies if you want secure-only session and instance cookies. |
Methods inherited from class er.extensions.appserver.ajax.ERXAjaxSession |
---|
_permanentPageCache, _permanentPageWithContextID, _saveCurrentPage, _shouldPutInPermanentCache, cleanPageReplacementCacheIfNecessary, cleanPageReplacementCacheIfNecessary, restorePageForContextID, savePage, savePageInPermanentCache |
Methods inherited from class com.webobjects.appserver.WOSession |
---|
_allowToViewEvents, _allowToViewStatistics, _awakeInContext, _contextCounter, _contextDidIncrementContextID, _contextIDMatchingIDs, _formattedStatistics, _keyEnumerator, _lifeInMillis, _requestCounter, _setContext, _setHttpSession, _setHttpSessionWatcher, _setSessionID, _sleepInContext, _terminateByJ2EE, _terminateByTimeout, allowedToViewEvents, allowedToViewStatistics, canAccessFieldsDirectly, clone, context, debugString, domainForIDCookies, expirationDateForIDCookies, handleQueryWithUnboundKey, handleTakeValueForUnboundKey, invokeAction, isDistributionEnabled, isTerminating, languages, logString, objectForKey, removeObjectForKey, sessionID, setDistributionEnabled, setObjectForKey, setStoresIDsInCookies, setStoresIDsInURLs, setTimeOut, statistics, storesIDsInCookies, storesIDsInURLs, takeValueForKey, takeValueForKeyPath, timeOut, timeOutForIDCookies, timeOutMillis, unableToSetNullForKey, validateEventsLogin, validateStatisticsLogin, validationFailedWithException, valueForKey, valueForKeyPath |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final org.apache.log4j.Logger log
public static final java.lang.String SessionWillAwakeNotification
public static final java.lang.String SessionWillSleepNotification
public static final java.lang.String JAVASCRIPT_ENABLED_COOKIE_NAME
protected java.lang.Boolean _javaScriptEnabled
protected com.webobjects.foundation.NSMutableDictionary _debuggingStore
public java.lang.String _originalThreadName
awake()
protected java.lang.Boolean _didBacktrack
public boolean lastActionWasDA
Constructor Detail |
---|
public ERXSession()
public ERXSession(java.lang.String sessionID)
Method Detail |
---|
public ERXSession.Observer observer()
public ERXLocalizer localizer()
languages
array. See ERXLocalizer
for more information about using a localizer.
public java.lang.String language()
localizer().language()
.
public void setLanguage(java.lang.String language)
Also updates languages list with the new single language.
language
- to set the current localizer for.language()
,
setLanguages(com.webobjects.foundation.NSArray)
public void setLanguages(com.webobjects.foundation.NSArray languageList)
Also updates localizer and messageEncodings.
setLanguages
in class com.webobjects.appserver.WOSession
languageList
- the array of languages for the sessionlanguage()
,
setLanguage(java.lang.String)
public com.webobjects.foundation.NSArray availableLanguagesForTheApplication()
ERXLocalizer#availableLanguages
,
but will be convenient for binding to dynamic elements
like language selector popup.
availableLanguagesForThisSession()
,
ERXLocalizer#availableLanguages
public com.webobjects.foundation.NSArray availableLanguagesForThisSession()
ERXRequest#browserLanguages
)
and localizer's available language array
(ERXLocalizer#availableLanguages
).
Note that the order of the resulting language names is not defined at this morment.
availableLanguagesForTheApplication()
,
ERXRequest#browserLanguages
,
ERXLocalizer#availableLanguages
public ERXMessageEncoding messageEncoding()
language()
available for the session, it creates one with
the default encoding.
public ERXBrowser browser()
public com.webobjects.foundation.NSMutableDictionary debuggingStore()
public com.webobjects.eocontrol.EOEditingContext defaultEditingContext()
ERXEC
factory.
defaultEditingContext
in class com.webobjects.appserver.WOSession
public void setDefaultEditingContext(com.webobjects.eocontrol.EOEditingContext ec)
setDefaultEditingContext
in class com.webobjects.appserver.WOSession
public boolean javaScriptEnabled()
public void setJavaScriptEnabled(boolean newValue)
newValue
- says if javascript is enabledpublic void awake()
awake
in class com.webobjects.appserver.WOSession
public void sleep()
sleep
in class com.webobjects.appserver.WOSession
public java.lang.String threadName()
return session().sessionID() + valueForKeyPath("user.username");
public java.lang.String requestsContextID(com.webobjects.appserver.WORequest aRequest)
aRequest
- request to get the context id from
public boolean didBacktrack()
public void takeValuesFromRequest(com.webobjects.appserver.WORequest aRequest, com.webobjects.appserver.WOContext aContext)
messageEncoding
object.
takeValuesFromRequest
in class com.webobjects.appserver.WOSession
aRequest
- current requestaContext
- current contextpublic void appendToResponse(com.webobjects.appserver.WOResponse aResponse, com.webobjects.appserver.WOContext aContext)
messageEncoding
object.
appendToResponse
in class com.webobjects.appserver.WOSession
aResponse
- current response objectaContext
- current context objectpublic ERXApplication application()
public void terminate()
terminate
in class com.webobjects.appserver.WOSession
public com.webobjects.foundation.NSKeyValueCodingAdditions objectStore()
myString: WOString {
value = session.objectStore.myLastSearchResult.count;
}
public com.webobjects.foundation.NSTimestamp _birthDate()
_birthDate
in class com.webobjects.appserver.WOSession
public java.lang.String toString()
toString
in class com.webobjects.appserver.WOSession
public com.webobjects.eocontrol.EOEditingContext newDefaultEditingContext()
public static com.webobjects.appserver.WOSession anySession()
public static ERXSession session()
public static java.lang.String currentSessionID()
public static void setSession(ERXSession session)
public boolean useSecureSessionCookies()
protected void _convertSessionCookiesToSecure(com.webobjects.appserver.WOResponse response)
public void _appendCookieToResponse(com.webobjects.appserver.WOResponse response)
_appendCookieToResponse
in class com.webobjects.appserver.WOSession
public void _clearCookieFromResponse(com.webobjects.appserver.WOResponse response)
_clearCookieFromResponse
in class com.webobjects.appserver.WOSession
public java.util.TimeZone timeZone()
public void setTimeZone(java.util.TimeZone timeZone)
public static boolean autoAdjustTimeZone()
|
Last updated: Tue, Feb 21, 2017 05:45 PM CET | |||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |