PATH |
Inherits from: Object
Implements: NSKeyValueCoding NSKeyValueCoding.ErrorHandling NSKeyValueCodingAdditions
Package: com.webobjects.appserver
The primary role of the WOApplication class is to coordinate the handling of HTTP requests. Each application must have exactly one WOApplication object (or, simply, application object). The application object receives client requests from an HTTP server adaptor, manages the processing that generates a response, and returns that response-typically an object representing a web page-to the adaptor. The adaptor, in turn, forwards the response in a suitable form to the HTTP server that originated the request.
In handling requests, an application object creates and manages one or more sessions; a session (represented by a WOSession object) dedicates resources to a period of access by a single user and stores persistent state during that period. Conceptually, each cycle of the request-response loop (or transaction) takes place within a session.
Besides acting as a facilitator between the adaptor and the rest of the application during request handling, WOApplication performs many secondary functions. It returns pages based on component name, caches page instances and component definitions, provides some facilities for error handling and script debugging, coordinates the different levels of multi-threaded execution, and furnishes a variety of data.
Typical deployment schemes balance the processing load by having multiple application instances per server adaptor. A single application, in turn, can interact with multiple adaptors; for example, an application can simultaneously communicate with secure-socket and Distributed Object adaptors as well as HTTP adaptors.
You can instantiate ready-made application objects from the WOApplication class or you can obtain the application object from a custom subclass of WOApplication. Custom WOApplication subclasses are common in WebObjects applications since there is often a need to override the awake, sleep, and request-handling methods. Compiled WOApplication subclasses can take any name, but if the name is anything other than "Application" you must implement your own main function to instantiate the application object from this class. However, if the class name is "Application," you don't need to modify main. In scripted applications, the code in the Application.wos file becomes the implementation logic of a WOApplication subclass automatically created at run time; the application object is instantiated from this subclass.
WOApplication declares class variables:
Class Variable | Description |
ApplicationDidDispatchRequestNotification | This class variable contains a String that names the notification posted at the very beginning of WOApplication's dispatchRequest(WORequest) method. |
ApplicationDidFinishLaunchingNotification | This class variable contains a String that names the notification posted by WOApplication's run() method after the application is launched. This notification is posted when the run() method logs the "Waiting for requests..." message to the console. |
ApplicationWillDispatchRequestNotification | This class variable contains a String that names the notification posted at the end of WOApplication's dispatchRequest(WORequest) method. |
ApplicationWillFinishLaunchingNotification | This class variable contains a String that names the notification posted at the very beginning of WOApplication's run() method. |
NSKeyValueCoding takeValueForKey valueForKey NSKeyValueCoding.ErrorHandling handleQueryWithUnboundKey handleTakeValueForUnboundKey unableToSetNullForKey NSKeyValueCodingAdditions takeValuesFromRequest valueForKeyPath
Creating WOApplication Obtaining attributes adaptorsDispatchRequestsConcurrently allowsConcurrentRequestHandling isConcurrentRequestHandlingEnabled baseURL name number path Locking lock unlock Managing adaptors adaptorWithName adaptors Managing sessions setSessionStore sessionStore saveSessionForContext restoreSessionWithID createSessionForRequest Managing pages setPageCacheSize pageCacheSize permanentPageCacheSize setPermanentPageCacheSize setPageRefreshOnBacktrackEnabled isPageRefreshOnBacktrackEnabled pageWithName pageWithName Creating elements dynamicElementWithName Running run setTimeOut timeOut defaultRequestHandler terminate terminateAfterTimeInterval Handling requests appendToResponse awake createContextForRequest createSessionForRequest defaultRequestHandler defaultRequestHandlerClassName dispatchRequest handlerForRequest invokeAction registeredRequestHandlerKeys registerRequestHandler removeRequestHandlerForKey requestHandlerForKey setDefaultRequestHandler sleep takeValuesFromRequest Handling errors handleSessionCreationErrorInContext handlePageRestorationErrorInContext handleSessionRestorationErrorInContext handleException Script debugging logString debugString printsHTMLParserDiagnostics setPrintsHTMLParserDiagnostics logTakeValueForDeclarationNamed logSetValueForDeclarationNamed Statistics report setStatisticsStore statisticsStore statistics Monitor support monitorEnabled monitoringEnabled activeSessionsCount refuseNewSessions isRefusingNewSessions setMinimumActiveSessionsCount minimumActiveSessionsCount terminateAfterTimeInterval Resource manager support setResourceManager resourceManager User defaults loadFrameworks setLoadFrameworks isDebuggingEnabled autoOpenInBrowser setAutoOpenInBrowser isDirectConnectEnabled setDirectConnectEnabled cgiAdaptorURL setCGIAdaptorURL isCachingEnabled setCachingEnabled applicationBaseURL setApplicationBaseURL frameworksBaseURL setFrameworksBaseURL recordingPath setRecordingPath projectSearchPath setProjectSearchPath isMonitorEnabled setMonitorEnabled monitorHost setMonitorHost SMTPHost setSMTPHost adaptor setAdaptor port setPort listenQueueSize setListenQueueSize workerThreadCount setWorkerThreadCount additionalAdaptors setAdditionalAdaptors includeCommentsInResponses setIncludeCommentsInResponses componentRequestHandlerKey setComponentRequestHandlerKey directActionRequestHandlerKey setDirectActionRequestHandlerKey resourceRequestHandlerKey setResourceRequestHandlerKey sessionTimeout setSessionTimeOut Convenience Methods sharedEditingContext
public WOApplication()
A exception is thrown if initialization does not succeed.
Note: The global variable "WOApp" is initialized in this method. |
public static WOApplication application()
You may call this method, but do not override it.
public static final int licensedRequestLimit()
public static final long licensedRequestWindow()
public static final boolean licensingAllowsMultipleInstances()
public static final boolean licensingAllowsMultipleThreads()
public static boolean canAccessFieldsDirectly()
true
, indicating that key/value coding is allowed to access fields in this object if an appropriate method isn't present.
public static void main(String[] argv[])
public static void main(String[] argv[], Class applicationClass)
public synchronized int activeSessionsCount()
The number returned here is only accurate if the application stores state in memory in the server, which is the default. If you use a custom state-storage strategy, there may be no way to tell how many sessions are active for a given application instance.
See Also: minimumActiveSessionsCount, setMinimumActiveSessionsCount
public WOAdaptor adaptorWithName( String aName, NSDictionary someArguments)
See Also: adaptors
public String adaptor()
See Also: setAdaptor
public NSArray adaptors()
public final boolean adaptorsDispatchRequestsConcurrently()
true
if at least one adaptor contains multiple threads and will attempt to concurrently invoke the request handlers.
public NSArray additionalAdaptors()
See Also: setAdditionalAdaptors
public boolean allowsConcurrentRequestHandling()
true
if concurrent request handling is allowed.
See Also: isConcurrentRequestHandlingEnabled
public void appendToResponse( WOResponse aResponse, WOContext aContext)
See Also: invokeAction
public String applicationBaseURL()
See Also: setApplicationBaseURL
public boolean autoOpenInBrowser()
public void awake()
See Also: sleep
public String baseURL()
WebObjects/Examples/HelloWorld.woa.
public String cgiAdaptorURL()
See Also: setCGIAdaptorURL
public String componentRequestHandlerKey()
public WOContext createContextForRequest(WORequestaRequest)
public WORequest createRequest( String aMethod, String aURL, String anHTTPVersion, NSDictionary someHeaders, NSData aContent, NSDictionary someInfo)
public WOResponse createResponseInContext(WOContext aContext)
public WOSession createSessionForRequest(WORequest aRequest)
The method then returns an allocated and initialized (using the default WOSession constructor) session instance of the selected class. It throws an exception if it is unable to create a new session.
Note: An implication of the foregoing description is that the names of compiled WOSession subclasses should be "Session"; if not, you will have to override this method to use the proper class to create the session object. |
See Also: restoreSessionWithID, saveSessionForContext
public WORequestHandler defaultRequestHandler()
http://somehost/cgi-bin/WebObjects/AppName.woa
The way that URLs of that type are handled is determined by the default request handler.
public String defaultRequestHandlerClassName()
public void debugString(String aFormatString)
You control whether this method displays output with the WODebuggingEnabled user default option. If WODebuggingEnabled is true, then the debugString messages display their output. If WODebuggingEnabled is false, the debugString messages don't display their output.
public String directActionRequestHandlerKey()
public WOResponse dispatchRequest(WORequest aRequest)
public WOElement dynamicElementWithName( String aName, NSDictionary someAssociations, WOElement anElement NSArray languages)
The arguments aName and someAssociations are derived from a corresponding line in the declarations file. aName is a String that identifies the kind of element to create. Generally aName specifies a built-in WOElement such as WOString, but it may also identify a reusable component. (For more information, see the chapter "Using Reusable Components" in the WebObjects Developer's Guide.) For example, in the dynamicElementWithName message for the following declaration:
APP_STRING: WOString {value = applicationString;};
aName contains the string "WOString".
The someAssociations dictionary contains an entry for each attribute specified in the corresponding declaration. For the declaration above, someAssociations contains a single entry for WOString's value attribute. The keys of someAssociations are the attribute names and the values are WOAssociation objects.
WOApplication's implementation of dynamicElementWithName first searches for a WOElement named aName. If a WOElement is found, the method creates an instance and returns it. Otherwise, it searches for a component-either scripted or compiled-to return instead. If neither are found, this method returns null
.
protected void finalize() throws Throwable
public String frameworksBaseURL()
See Also: setFrameworksBaseURL
public WOResponse handleException( Exception anException, WOContext aContext)
See Also: handleSessionCreationErrorInContext, handleSessionRestorationErrorInContext
public WOResponse handlePageRestorationErrorInContext(WOContext aContext)
See Also: handleException, handleSessionCreationErrorInContext, handleSessionRestorationErrorInContext
public Object handleQueryWithUnboundKey(String key)
public WOResponse handleSessionCreationErrorInContext(WOContext aContext)
See Also: handleException, handlePageRestorationErrorInContext, handleSessionRestorationErrorInContext
public WOResponse handleSessionRestorationErrorInContext(WOContext aContext)
See Also: handleException, handlePageRestorationErrorInContext, handleSessionCreationErrorInContext
public void handleTakeValueForUnboundKey(Object value, String key)
public WORequestHandler handlerForRequest(WORequest aRequest)
See Also: registerRequestHandler, registeredRequestHandlerKeys, requestHandlerForKey
public boolean includeCommentsInResponses()
See Also: setIncludeCommentsInResponses
public WOActionResults invokeAction( WORequest aRequest, WOContext aContext)
See Also: appendToResponse
public boolean isCachingEnabled()
See Also: setCachingEnabled, pageCacheSize
public final boolean isConcurrentRequestHandlingEnabled()
true
if adaptors dispatch requests concurrently and allowsConcurrentRequestHandling has been overridden to allow concurrent request handling.
See Also: allowsConcurrentRequestHandling
public boolean isDebuggingEnabled()
true
, debugString prints out. Most startup-time status message are supressed if this method returns false
. By default, debugging is enabled. This is the cover method for the user default WODebuggingEnabled.
See Also: debugString
public boolean isDirectConnectEnabled()
See Also: cgiAdaptorURL
public boolean isMonitorEnabled()
true
if the application can contact Monitor upon startup and subsequently let Monitor gather statistics. It returns false
if no communication with Monitor can take place. By default, it can communicate with a Monitor application. 'This is a cover method for the user default WOMonitorEnabled.
See Also: setMonitorEnabled, monitorHost, setMonitorHost
public boolean isPageRefreshOnBacktrackEnabled()
false
by default.
See Also: setPageRefreshOnBacktrackEnabled
public boolean isRefusingNewSessions()
true
if the application instance is refusing new sessions, and false
otherwise. When the application instance refuses new sessions, the WebObjects adaptor tries to start the session in another instance of the same application. If no other instance is running and accepting new sessions, the user receives an error message.
public boolean isTerminating()
See Also: setTimeOut, defaultRequestHandler, terminateAfterTimeInterval, timeOut
public int lifebeatDestinationPort()
WOLifebeatDestinationPort
key and by the setLifebeatDestinationPort(int) method.
public boolean lifebeatEnabled()
public int lifebeatInterval()
public Number listenQueueSize()
See Also: setListenQueueSize
public NSArray loadFrameworks()
See Also: setLoadFrameworks
public void lock()
public void logSetValueForDeclarationNamed( String aDeclarationName, String aDeclarationType, String aBindingName, String anAssociationDescription, Object aValue)
true
for the declaration in which the association appears. (Setting a value means the child component/element is setting a value in the parent). See logTakeValueForDeclarationNamed for a description of each of the arguments to this method.
public void logString(String aString)
int i = 500; float f = 2.045; WOApplication.logString("Amount = " + i + ", Rate = " + f ", Total = " + i*f);
public void logTakeValueForDeclarationNamed( String aDeclarationName, String aDeclarationType, String aBindingName, String anAssociationDescription, Object aValue)
true
for the declaration in which the association appears. (Taking a value means the child component/element is taking a value from the parent). Override this method to alter the format of the log message. The arguments of this method are defined in the following example of a WebObjects declaration.
aDeclarationName : aDeclarationType { aBindingName = anAssociationDescription; }
Also, aValue is the value which is being pushed to or pulled from the child to the parent.
public Number maxSocketIdleTime()
WOMaxSocketIdleTime
key and by the setMaxSocketIdleTime(Number) method.
See Also: setMaxSocketIdleTime
public int minimumActiveSessionsCount()
true
, the application instance terminates. The default is 0.
See Also: activeSessionsCount, refuseNewSessions, setMinimumActiveSessionsCount
public boolean monitorEnabled()
public boolean monitoringEnabled()
true
if the application is "monitorable" by the Monitor application, and false
otherwise. An application is "monitorable" if it was able to find a running Monitor upon startup and it is able to successfully communicate with that Monitor.
By default, all applications are monitorable if the Monitor application is running on the same machine as the application. You can specifically disable monitoring using the -WOMonitorEnabled NO option on the application command line. If you want the application to be monitorable and the Monitor is running on another host, you can start up the application through Monitor, or you can specify Monitor's host on the application command line this way:
MyApp.exe -WOMonitorEnabled YES -WOMonitorHost monitorHost ...
public String monitorHost()
true
. This is a cover for the user default WOMonitorHost.
See Also: setMonitorHost, isMonitorEnabled
public String name()
public String number()
public String outputPath()
public int pageCacheSize()
See Also: setPageCacheSize
public WOComponent pageWithName( String aName, WORequest aRequest)
null
, the "Main" component is assumed. If the method cannot create a valid page instance, it throws
an exception.
As part of its implementation, this method creates a context with aRequest and calls pageWithName.
See Also: restorePageForContextID (WOSession), savePage (WOSession)
public WOComponent pageWithName( String aName, WOContext aContext)
null
, the "Main" component is assumed. If the method cannot create a valid page instance, it throws
an exception.
See Also: pageWithName, restorePageForContextID (WOSession), savePage (WOSession)
public String path()
public int permanentPageCacheSize()
See Also: savePageInPermanentCache ( WOApplication)
public Number port()
See Also: setPort
public boolean printsHTMLParserDiagnostics()
Returns whether the HTML parser prints diagnostic information to stdout when it encounters unbalanced HTML containers or other syntactically incorrect HTML. This method returns false
by default.
See Also: isDebuggingEnabled debugString
public NSArray projectSearchPath()
See Also: setProjectSearchPath
public String recordingPath()
null
.
If this method returns a path, all requests and responses are recorded in the HTTP format in numbered files (0000-request, 0000-response, 0001-request, 0001-response, and so on), and saved under the recording path specified. This directory is then used by the Playback tool to test the application. You will most likely set this as a command line argument (-WORecordingPath pathname), exercise your application to record a scenario you would like to test, and then stop the application. Afterward you can restart the application without the WORecordingPath argument, and point Playback to the recording directory just created to replay your sequence of requests and compare the responses received with the ones recorded.
See Also: setRecordingPath
public synchronized void refuseNewSessions(boolean flag)
true
, the application does not create new sessions; when it receives a request from a new user, it refuses that request, and the adaptor must try to find another application instance that can process the request. If flag is false
, the application creates new sessions. false
is the default.
You use this method with setMinimumActiveSessionsCount to gracefully shut down application instances. Use setMinimumActiveSessionsCount to set the active session minimum to a certain number. When number of active sessions reaches the number you set and isRefusingNewSessions returns true
, the application terminates.
See Also: activeSessionsCount, isRefusingNewSessions, minimumActiveSessionsCount, setMinimumActiveSessionsCount
public void registerRequestHandler( WORequestHandler aHandler, String aKey)
See Also: removeRequestHandlerForKey, registeredRequestHandlerKeys, requestHandlerForKey
public NSArray registeredRequestHandlerKeys()
See Also: handlerForRequest, requestHandlerForKey
public WORequestHandler removeRequestHandlerForKey(String aRequestHandlerKey)
See Also: registerRequestHandler, requestHandlerForKey
public WORequestHandler requestHandlerForKey(String key)
See Also: handlerForRequest, registerRequestHandler, registeredRequestHandlerKeys
public Object requestHandlingLock()
null
if the application isn't multithreaded.
public WOResourceManager resourceManager()
See Also: setResourceManager
public String resourceRequestHandlerKey()
See Also: setResourceRequestHandlerKey
public WOSession restoreSessionWithID( String aSessionID, WOContext aContext)
See Also: createSessionForRequest, saveSessionForContext
public void run()
See Also: setTimeOut, defaultRequestHandler, terminateAfterTimeInterval
public void saveSessionForContext(WOContext aContext)
See Also: restoreSessionWithID
public WOSessionStore sessionStore()
See Also: setSessionStore
public String sessionStoreClassName()
WOSessionStoreClassName
key. The default value for this key is "WOServerSessionStore".
public Number sessionTimeOut()
See Also: setSessionTimeOut
public void setAdaptor(String anAdaptorName)
See Also: adaptor
public void setAdditionalAdaptors(NSArray anAdaptorPlist)
See Also: additionalAdaptors
public void setAllowsConcurrentRequestHandling(boolean aValue)
WOAllowsConcurrentRequestHandling
(interpreted as a boolean) determines whether concurrent request handling is allowed.
public void setApplicationBaseURL(String aBaseURL)
See Also: applicationBaseURL
public void setAutoOpenInBrowser(boolean isEnabled)
true
, the application launches the web browser. If false
, the application does not launch the browser. Browser launching is enabled by default as long as there is a WOAdaptorURL key in the file NeXT_ROOT/NextLibrary/WOAdaptors/Configuration/WebServerConfig.plist.
To disable web browser launching, you must send this message in your subclass's constructor.
See Also: autoOpenInBrowser
public void setCachingEnabled(boolean flag)
See Also: isCachingEnabled, pageCacheSize
public void setCGIAdaptorURL(String aURL)
See Also: cgiAdaptorURL
public void setComponentRequestHandlerKey(String key)
See Also: componentRequestHandlerKey
public void setDefaultRequestHandler(WORequestHandler aHandler)
Sets the default request handler.
See Also: defaultRequestHandler
public void setDirectActionRequestHandlerKey(String key)
See Also: directActionRequestHandlerKey
public void setDirectConnectEnabled(boolean flag)
Direct connect actually transforms your application in a simple web server of its own. In particular, it is then able to find and return its images and resources as if it were a web server. It is very useful in development mode: You don't need a web server. Just point your URL to the port where your application is listening, and the application will handle all urls.
If this flag is true
, the following happens:
false
, the resource request handler can be used to retrieve data objects from memory only, and no more reading in the file system is permitted (secure mode for deployment).
See Also: isDirectConnectEnabled, cgiAdaptorURL
public void setFrameworksBaseURL(String aString)
See Also: frameworksBaseURL
public void setIncludeCommentsInResponses(boolean flag)
See Also: includeCommentsInResponses
public void setListenQueueSize(Number aListenQueueSize)
See Also: listenQueueSize
public void setLoadFrameworks(NSArray frameworkList)
See Also: loadFrameworks
public void setMaxSocketIdleTime(Number maxSocketIdleTime)
WOMaxSocketIdleTime
key.
public void setMinimumActiveSessionsCount(int anInt)
You use this method to gracefully shut down application instances. If the active sessions count reaches this number andisRefusingNewSessions returns true
, the application terminates. You might want to terminate application instances periodically for performance reasons; some applications leak a certain amount of memory per transaction, and shutting down and restarting instances of those applications can free up that memory.
See Also: activeSessionsCount, isRefusingNewSessions, minimumActiveSessionsCount, refuseNewSessions
public void setMonitorEnabled(boolean flag)
true
, the application can contact Monitor upon startup and subsequently let Monitor gather statistics. If flag is false
, no comunication with Monitor can take place. By default, it can communicate with a Monitor application.
See Also: isMonitorEnabled
public void setMonitorHost(String hostName)
true
.
See Also: monitorHost, isMonitorEnabled
public void setPageCacheSize(int anInt)
You turn page-instance caching off by invoking this method with an argument of zero. In this case, when the user backtracks to a page, the page is not stored in the session and so must be re-created "from scratch."
See Also: pageCacheSize
public void setPageRefreshOnBacktrackEnabled(boolean flag)
true
, disables caching of pages by the client by setting the page's expiration-time header to the current date and time. (By default, this attribute is set to false
.) Disabling of client caching affects what happens during backtracking. With client caching turned off, the browser resends the URL to the server for the page requested by backtracking. The application must return a new page to the browser (corresponding to a new WOComponent instance). This behavior is desirable when you do not want the user to backtrack to a page that might be obsolete because of changes that have occurred in the session.
When this flag is turned on and a request corresponding to a client backtrack occurs, the retrieved page will only be asked to regenerate its response. The first two phases of a normal request-response loop (value extraction from the request and action invocation) do not occur.
See Caching Strategies in the class description for further details.
See Also: isPageRefreshOnBacktrackEnabled
public void setPermanentPageCacheSize(int aSize)
See Also: permanentPageCacheSize
public void setPort(Number port)
See Also: port
public void setPrintsHTMLParserDiagnostics(boolean flag)
Sets whether the HTML parser prints diagnostic information to stdout when it encounters unbalanced HTML containers or other syntactically incorrect HTML. This diagnostic information is not printed by default.
See Also: debugString
public void setProjectSearchPath(NSArray searchPath)
See Also: projectSearchPath
public void setRecordingPath(String path)
null
as the path if you don't want to save recording information. By default, recording information is not saved.
If you save recording information, all requests and responses are recorded in the HTTP format in numbered files (0000-request, 0000-response, 0001-request, 0001-response, and so on), and saved under the recording path specified. This directory is then used by the Playback tool to test the application. You will most likely set this as a command line argument (-WORecordingPath pathname), exercise your application to record a scenario you would like to test, and then stop the application. Afterward you can restart the application without the WORecordingPath argument, and point Playback to the recording directory just created to replay your sequence of requests and compare the responses received with the ones recorded.
See Also: recordingPath
public void setResourceManager(WOResourceManager aResourceManager)
See Also: resourceManager
public void setResourceRequestHandlerKey(String key)
See Also: resourceRequestHandlerKey
public void setSessionStore(WOSessionStore aSessionStore)
See Also: sessionStore
public void setSessionStoreClassName(String aString)
WOSessionStoreClassName
key.
public void setSessionTimeOut(Number aTimeOut)
See Also: sessionTimeout
public void setSMTPHost(String hostName)
See Also: SMTPHost
public void setSocketCacheSize(Number socketCacheSize)
WOSocketCacheSize
key, which has a default value of 100.
public void setSocketMonitorSleepTime(Number socketMonitorSleepTime)
WOSocketMonitorSleepTime
key will be used (the default value for this key is 50 msec).
public void setStatisticsStore(WOStatisticsStore aStatisticsStore)
See Also: statisticsStore
public void setWorkerThreadCount(Number aWorkerThreadCount)
See Also: workerThreadCount
public void setTimeOut(double aTimeInterval)
This method differs from terminateAfterTimeInterval in that with this method, the application must be idle for aTimeInterval seconds for the application to terminate. terminateAfterTimeInterval terminates the application whether it is active or not.
See Also: timeOut
public com.webobjects.eocontrol.EOSharedEditingContext sharedEditingContext()
This is a convenience method that returns the default shared editing context.
See Also: EOSharedEditingContext class description in the EOControl Framework
public void sleep()
public String SMTPHost()
See Also: setSMTPHost
public Number socketCacheSize()
See Also: setSocketCacheSize
public Number socketMonitorSleepTime()
See Also: setSocketMonitorSleepTime
public NSDictionary statistics()
WOApplication.application().statisticsStore().statistics()
public WOStatisticsStore statisticsStore()
See Also: setStatisticsStore
public void takeValueForKey(Object value, String key)
public void takeValueForKeyPath(Object value, String keyPath)
public void takeValuesFromRequest( WORequest aRequest, WOContext aContext)
See Also: appendToResponse, invokeAction
public void terminate()
See Also: isTerminating, setTimeOut
public void terminateAfterTimeInterval(double aTimeInterval)
This method differs from setTimeOut in that it does not set idle time; terminateAfterTimeInterval shuts down the application regardless of whether it is idle.
public double timeOut()
See Also: setTimeOut
public String toString()
public void unableToSetNullForKey(String key)
public void unlock()
public synchronized void validationFailedWithException( Throwable exception, Object value, String keyPath, WOComponent aComponent, WOSession aSession)
public Object valueForKey(String key)
public Object valueForKeyPath(String keyPath)
public Number workerThreadCount()
See Also: setWorkerThreadCount
© 2001 Apple Computer, Inc. (Last Published April 15, 2001)