WebObjects 5.4.2

com.webobjects.appserver
Class WOApplication

java.lang.Object
  extended by com.webobjects.appserver.WOApplication
All Implemented Interfaces:
WOApplicationMBean, NSKeyValueCoding, NSKeyValueCoding.ErrorHandling, NSKeyValueCodingAdditions

public class WOApplication
extends Object
implements NSKeyValueCoding, NSKeyValueCoding.ErrorHandling, NSKeyValueCodingAdditions, WOApplicationMBean

The primary role of the WOApplication class is to coordinate the handling of HTTP requests. Each application must have exactly one WOApplication object. The application object receives client requests from an HTTP server adaptor, manages the processing that generates a response, and returns that response to the adaptor. Typically, the response is an object representing a web page. The adaptor then packages the response in a form specific to the HTTP server that orginated the request and then forwards the response to that HTTP server.

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 mediating 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 web server adaptor. A single application can interact with multiple adaptors. For example, an application can simultaneously communicate with secure-socket adaptors and 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 method to instantiate the application object from this class. However, if the class name is "Application", you don't need to modify main.

See Also:
WOApplication.awake(), WOApplication.sleep()

Nested Class Summary
static class WOApplication.Event
          This is a subclass of WOEvent used by the WebObjects runtime to collect pageWithName events.
protected  class WOApplication.TimeoutTask
          Replacement for WOTimer
 
Nested classes/interfaces inherited from interface com.webobjects.foundation.NSKeyValueCodingAdditions
NSKeyValueCodingAdditions.DefaultImplementation, NSKeyValueCodingAdditions.Utility
 
Field Summary
static String ApplicationDidDispatchRequestNotification
          Contains a String that names the notification posted at the end of WOApplication's dispatchRequest method.
static String ApplicationDidFinishLaunchingNotification
          Contains a String that names the notification posted by WOApplication's run method after the application is launched.
static String ApplicationWillDispatchRequestNotification
          Contains a String that names the notification posted at the very beginning of WOApplication's dispatchRequest method.
static String ApplicationWillFinishLaunchingNotification
          Contains a String that names the notification posted at the very beginning of WOApplication's run method.
static String CGIAdaptorURLProperty
           
static String DirectoryAliasProperty
           
static String DocumentRootProperty
           
 
Fields inherited from interface com.webobjects.foundation.NSKeyValueCodingAdditions
KeyPathSeparator
 
Constructor Summary
WOApplication()
          Creates and initializes the instance of WOApplication.
 
Method Summary
 int activeSessionsCount()
          The number returned is only accurate if the application stores state in the server's memory, which is the default.
 String adaptor()
          Returns the class name of the primary adaptor.
 String[] adaptorExtensions()
           
 String adaptorName()
           
 String adaptorPath()
           
 NSArray adaptors()
          Returns a list of the loaded application adaptors.
 boolean adaptorsDispatchRequestsConcurrently()
          Return whether or not there is at least one multi-threaded adaptor which may attempt to dispatch requests concurrently.
 WOAdaptor adaptorWithName(String aClassName, NSDictionary anArgsDictionary)
          Invoked in the constructor to create an adaptor.
 NSArray additionalAdaptors()
          Returns an array of adaptor description dictionaries.
 String ajaxRequestHandlerKey()
          Returns the key which identifies URLs directed at the Ajax Handler for XMLHTTPRequests.
 boolean allowsConcurrentRequestHandling()
          Return whether or not concurrent request handling is allowed.
 void appendToResponse(WOResponse aResponse, WOContext aContext)
          The WOApplication object invokes this method on itself to initiate the final phase of request handling.
static WOApplication application()
          Return the application instance.
 String applicationBaseURL()
          This is the cover method for the property WOApplicationBaseURL.
 String applicationExtension()
           
 WOAssociationFactory associationFactory()
          Return the WOAssociationFactory for the application.
 WOAssociationFactoryRegistry associationFactoryRegistry()
          Return the WOAssociationFactoryRegistry for the application.
 boolean autoOpenClientApplication()
          Returns whether automatic client application launching is enabled for Java Client applications.
 boolean autoOpenInBrowser()
          Return whether starting the application instance will launch a browser pointing at the main page of the application.
 void awake()
          Invoked at the beginning of each cycle of the request-response loop, affording the opportunity to perform initializations with application-wide scope.
 String baseURL()
          Returns the application URL relative to the server's document root.
static boolean canAccessFieldsDirectly()
          WOApplication's implementation of this static method returns true, indicating that key-value coding is allowed to access fields in this object if an appropriate method isn't present.
 String cgiAdaptorURL()
          Returns the URL for the web server including the path to the WebObjects CGI adaptor: for example, http://localhost/cgi-bin/WebObjects.
protected  URL combinedComponentPathURL(WOResourceManager aResourceManager, String templateName, String aFrameworkName, String aLanguage, boolean refreshProjectOnCacheMiss)
           
 String componentRequestHandlerKey()
          Returns the key which identifies URLs directed at component-action based requests.
 String contextClassName()
          Defaults to WOContext.
 WOContext createContextForRequest(WORequest aRequest)
          Creates a new context object for a given request.
protected  WOAssociationFactoryRegistry createDefaultAssociationFactoryRegistry()
          Creates the default application association factory registry.
protected  WOMLDefaultNamespaceProvider createDefaultNamespaceProvider()
          Creates the default namespace provider, which provides the "wo" and "woq" namespaces to WOML templates.
 WORequest createRequest(String aMethod, String aURL, String anHTTPVersion, Map someHeaders, NSData aContent, Map someInfo)
          Convenience method that instantiates and returns a new WORequest object.
 WOResourceManager createResourceManager()
          Creates a new instance of WOResourceManager.
 WOResponse createResponseInContext(WOContext aContext)
          Convenience method that instantiates and returns a new, empty WOResponse object.
 WOSession createSessionForRequest(WORequest aRequest)
          Creates and returns a WOSession object to manage a session for the client.
 void debugString(String aString)
          Deprecated. use NSLog instead.
 WOAdaptor defaultAdaptor()
          Returns the default application adaptor.
 WORequestHandler defaultRequestHandler()
          Returns the request handler to be used when no request handler key is found in the URL or WORequest.
 String defaultRequestHandlerClassName()
          Returns the class name of the default request handler.
 Number defaultUndoStackLimit()
          Return the number of levels of undo for a session's default editing context.
 String directActionRequestHandlerKey()
          Returns the key which identifies URLs directed at Direct Action based requests.
 String directConnectURL()
          Returns the URL to connect to the application directly without going through the web server and WOAdaptors.
 WOResponse dispatchRequest(WORequest aRequest)
          The starting point of the request-response cycle in WOApplication.
 String documentRoot()
          Returns the document root for static resources.
 WOElement dynamicElementWithName(String aName, NSDictionary someAssociations, WOElement anElement, NSArray aLanguageArray)
          Creates and returns a WOElement object based on the element's name, a dictionary of associations, and a template of WOElements.
 String frameworksBaseURL()
          This value is used to determine URLs that should be generated to reference Web Server Resources in those frameworks.
 boolean getAdaptorsDispatchRequestsConcurrently()
          JMX Support
 ArrayList getAdditionalAdaptors()
          JMX Support
 String getAgentID()
          Return the agentid for app instance where agentid=[your_unique_id_for_your_instance] Used for sticky session support.
 boolean getAllowsConcurrentRequestHandling()
          JMX Support
 String getApplicationBaseURL()
          JMX support
 String getApplicationExtension()
          JMX support
 boolean getAutoOpenClientApplication()
          JMX Support
 String getBaseURL()
          JMX Support
 String getCGIAdaptorURL()
          JMX Support
 ArrayList getClassPaths()
          Return a list of URI formatted classpaths used at bootstrap time by the classloader.
 String getComponentRequestHandlerKey()
          JMX Support
 String getDefaultAdaptor()
          JMX Support
 int getDefaultUndoStackLimit()
          JMX Support
 String getDirectConnectURL()
          JMX Support
 HashMap getFrameworkVersions()
          Return versions of NSBundle-aware frameworks or jars found at runtime.
 String getHost()
          JMX support
 String getHostAddress()
          JMX Support
 boolean getIncludeCommentsInResponses()
          JMX Support
 boolean getIsCachingEnabled()
          JMX Support
 boolean getIsMonitorEnabled()
           
 boolean getIsPageRefreshOnBacktrackEnabled()
          JMX Support
 boolean getIsRefusingNewSessions()
          JMX Support
 boolean getIsTerminating()
          JMX Support
 String getJMXDomain()
          The default JMX domain is composed of the host + app name + port number.
 int getLifebeatDestinationPort()
          JMX Support
 int getLifebeatInterval()
          JMX Support
 int getListenQueueSize()
          JMX Support
 int getMaxSocketIdleTime()
          JMX Support
 MBeanServer getMBeanServer()
          Return an instance of the MBeanserver.
 int getMinimumActiveSessionsCount()
          JXM Support
 String getName()
          JMX Support
 String getOutputPath()
          JMX Support
 int getPageCacheSize()
          JMX Support
 int getPageFragmentCacheSize()
          JMX Support
 int getPort()
          JMX Support
 String getServletConnectURL()
          JMX Support
 int getSessionTimeOut()
          JMX Support
 double getTimeOut()
          JMX Support
 String getWebObjectsVersion()
          Current version number.
 String getWebserverConnectURL()
          JMX Support
 int getWorkerThreadCountMax()
          JMX Support
 int getWorkerThreadCountMin()
          JMX Support
 WOResponse handleActionRequestError(WORequest aRequest, Exception exception, String reason, WORequestHandler aHandler, String actionClassName, String actionName, Class actionClass, WOAction actionInstance)
          Invoked when an action handler throws an exception in handleRequest.
 WOResponse handleException(Exception anException, WOContext aContext)
          Invoked when an unexpected exception is thrown in the request-response loop.
 NSMutableDictionary handleMalformedCookieString(RuntimeException anException, String cookieString, NSMutableDictionary aReturnDict)
          Invoked when a malformed cookie is parsed.
 WOResponse handlePageRestorationErrorInContext(WOContext aContext)
          Invoked when a page (WOComponent) instance cannot be restored, which typically happens when a user backtracks too far.
 Object handleQueryWithUnboundKey(String key)
          Conformance to NSKeyValueCoding.ErrorHandling.
 WORequestHandler handlerForRequest(WORequest aRequest)
          Returns the request handler to be used to handle a given request.
 WOResponse handleSessionCreationErrorInContext(WOContext aContext)
          Invoked by the component request handler when a session (WOSession) instance cannot be created.
 WOResponse handleSessionRestorationErrorInContext(WOContext aContext)
          Invoked when a session (WOSession) instance cannot be restored, which typically happens when the session times out.
 void handleTakeValueForUnboundKey(Object value, String key)
          Conformance to NSKeyValueCoding.ErrorHandling.
 String host()
          Return the name of the host the instance is running on.
 InetAddress hostAddress()
          Return the InetAddress for the host returned by host.
 boolean includeCommentsInResponses()
          Returns whether or not HTML comments are appended to the response.
 String instanceIdKey()
          String key used to obtain the application instance number from a request using methods like formValueForKey(String) and cookieValueForKey(String).
 WOActionResults invokeAction(WORequest aRequest, WOContext aContext)
          The WOApplication object invokes this method on itself to initiate the middle phase of request handling.
 boolean isCachingEnabled()
          Returns whether or not component caching is enabled.
 boolean isConcurrentRequestHandlingEnabled()
          Returns true if at least one adaptor may dispatch requests concurrently and allowsConcurrentRequestHandling returns true.
 boolean isDebuggingEnabled()
          Do not use.
 boolean isDirectConnectEnabled()
          Returns whether or not direct connect is enabled.
 boolean isMonitorEnabled()
          This is a cover method for the property WOMonitorEnabled.
 boolean isPageRefreshOnBacktrackEnabled()
          Returns whether caching of pages is disabled in the client.
 boolean isRefusingNewSessions()
          Returns true if the application instance is refusing new sessions, and false otherwise.
 boolean isTerminating()
          Returns whether the application will terminate at the end of the current request-response loop.
 String[] launchArguments()
          Returns a String array of launch arguments.
static int licensedRequestLimit()
          Deprecated. There is no license key
static long licensedRequestWindow()
          Deprecated. There is no license key
static boolean licensingAllowsMultipleInstances()
          Deprecated. There is no license key
static boolean licensingAllowsMultipleThreads()
          Deprecated. There is no license key
 int lifebeatDestinationPort()
          Returns the port to which lifebeat signals will be sent.
 boolean lifebeatEnabled()
          Return whether or not the application is sending lifebeats.
 int lifebeatInterval()
          Return the interval at which the application instance will send lifebeat signals to wotaskd.
 Number listenQueueSize()
          Returns the size of the listen queue which will created by the primary adaptor, usually WODefaultAdaptor.
 NSArray loadFrameworks()
          Return the NSArray of frameworks to be loaded during application initialization.
 void lock()
          Deprecated. synchronized(WOApplication.application()) should be used instead.
 void logSetValueForDeclarationNamed(String aDeclarationName, String aDeclarationType, String aBindingName, String anAssociationDescription, Object aValue)
          Formats and logs a message anytime a value is set through a WOAssociation, when WODebug is set to true for the declaration in which the association appears.
 void logString(String aString)
          Deprecated. Use NSLog instead
 void logTakeValueForDeclarationNamed(String aDeclarationName, String aDeclarationType, String aBindingName, String anAssociationDescription, Object aValue)
          Formats and logs a message anytime a value is taken through a WOAssociation, when WODebug is set to true for the declaration in which the association appears.
static void main(String[] argv)
          The WebObjects application's main method.
static void main(String[] argv, Class applicationClass)
          An alternate main method for the WebObjects applications that allows you to specify a subclass of WOApplication to be instantiated and run instead of WOApplication.
 Number maxSocketIdleTime()
          Returns the maximum interval in milliseconds for which a socket should be allowed to wait on incoming data.
 int minimumActiveSessionsCount()
          If the number of active sessions is less than or equal to this number and isRefusingNewSessions returns true, the application instance terminates.
 boolean monitorEnabled()
          Deprecated. monitorEnabled no longer supported
 String monitorHost()
          Deprecated. monitorHost no longer supported
 boolean monitoringEnabled()
          Deprecated. monitoringEnabled is no longer supported
 String name()
          Returns the name of the application, which is the value of the WOApplicationName property.
 WOMLNamespaceProvider namespaceProvider()
           
 WODynamicURL newDynamicURL()
          Create a new dynamic URL for the WORequest.
 WODynamicURL newDynamicURL(String url)
          Create a new dynamic URL for the WORequest.
 String number()
          Provided for backwards compatibility only.
 String outputPath()
          Return the path to which logs will be written.
 int pageCacheSize()
          Provides the size of the default page cache.
 int pageFragmentCacheSize()
          Provides the size of the default page fragments cache.
 WOComponent pageWithName(String aName, WOContext aContext)
          Returns a new page instance (a WOComponent object) identified by aName.
 String path()
          Returns the file system path of the application, which is an absolute path and includes the .woa extension; for example "C:/NETSCAPE/ns-home/docs/WebObjects/Examples/HelloWorld.woa" is a typical application path.
 int permanentPageCacheSize()
          Provides the size of the permanent page cache.
 Number port()
          Returns the port number on which the primary adaptor will listen This is the cover method for the property WOPort.
static void primeApplication(String mainBundlePath, String nameOfApplicationSubclass)
          Deprecated. use primeApplication(String, URL, String) instead.
static void primeApplication(String mainBundleName, URL mainBundlePathURL, String nameOfApplicationSubclass)
          This is used when calling into WebObjects programmatically (typically to use responseForComponentWithName) rather than running a WebObjects application standalone.
 boolean printsHTMLParserDiagnostics()
          Deprecated. See com.webobjects.foundation.NSLog
 NSArray projectSearchPath()
          Returns an array of file system paths which are searched for projects for rapid turnaround mode.
 String recordingPath()
          Returns a file system path which is where the recording information should be saved.
 void refuseNewSessions(boolean aVal)
          Controls whether this application instance will create a session when it receives an HTTP request from a new user.
 NSArray registeredRequestHandlerKeys()
          Returns an array of Strings containing the keys of all of the registered request handlers.
 void registerMBean(Object aMBean, ObjectName aName)
          Convenience to register an MBean with the MBean server.
 void registerMBean(Object aMBean, String aDomainName, String aMBeanName)
          Convenience to register an MBean with the MBean server.
 void registerRequestHandler(WORequestHandler aHandler, String aRequestHandlerKey)
          Registers a new request handler.
 WORequestHandler removeRequestHandlerForKey(String aRequestHandlerKey)
          Removes the specified request handler from the application.
 WORequestHandler requestHandlerForKey(String aKey)
          Returns the request handler used to handle requests containing the specified key.
 Object requestHandlingLock()
          Returns an Object suitable for a synchronization lock or null if the application isn't multithreaded.
 WOResourceManager resourceManager()
          Returns the WOResourceManager object that the application uses to manage resources.
 String resourceRequestHandlerKey()
          Resource requests are only used during development of an application or when the application is being run without an HTTP server.
 WOResponse responseForComponentWithName(String name, Map bindings, Map headers, Map userInfo, String uriPrefix, String appName)
          Returns a WOResponse for the WOComponent named name, using bindings.
 WOResponse responseForDirectActionWithNameAndClass(String actionName, String className, Map formValueDict, InputStream contentStream, Map headers, Map userInfo, String uriPrefix, String appName)
          Returns a WOResponse for the Direct Action actionName in the class named className (optional).
 WOSession restoreSessionWithID(String aSessionID, WOContext aContext)
          Restores the WOSession object representing a session.
 void run()
          Runs the application in a near-indefinite run loop in the default run-loop mode.
 void saveSessionForContext(WOContext aContext)
          Called at the end of the request handling loop when the current session object needs to be saved.
 String servletConnectURL()
          Returns the URL to connect to the application through a servlet container.
 String sessionIdKey()
          Return the string key used to obtain the session ID from a request using methods like formValueForKey(String) and cookieValueForKey(String).
 WOSessionStore sessionStore()
          Returns the application's current WOSessionStore object.
 String sessionStoreClassName()
          Return the name of the class that will be used to store sessions.
 Number sessionTimeOut()
          Return the number of seconds for which a session may be idle before it times out.
 void setAdaptor(String aString)
          Deprecated. Use the system property WOAdaptor instead
 void setAdditionalAdaptors(NSArray anAdaptorArray)
          Deprecated. Use the system property WOAdditionalAdaptors instead
 void setAllowsConcurrentRequestHandling(boolean aValue)
          Explicitly specifiy whether concurrent request handling is allowed.
 void setApplicationBaseURL(String aString)
          Sets to aString the path to which the current application may be found under the document root, with or without the .woa.
 void setAutoOpenClientApplication(boolean aBool)
          Controls whether starting up an application instance also launches a Java Client client application.
 void setAutoOpenInBrowser(boolean aBool)
          Controls whether starting up this application also launches a web browser.
 void setCachingEnabled(boolean aBool)
          Sets whether or not component caching is enabled.
 void setCGIAdaptorURL(String aString)
          Sets the URL through the web server to aString.
 void setComponentRequestHandlerKey(String aString)
          Deprecated. Use the system property _ComponentRequestHandlerKey instead
 void setContextClassName(String name)
          Sets the name of the WOContext subclass class.
 void setDefaultRequestHandler(WORequestHandler aRequestHandler)
          Sets the default request handler.
 void setDefaultUndoStackLimit(int stackLimit)
          Set the limit size for the undo stack for a session's default editing context.
 void setDirectActionRequestHandlerKey(String aString)
          Deprecated. Use the system property _DirectActionRequestHandlerKey instead
 void setDirectConnectEnabled(boolean aBool)
          Deprecated. Use the system property WODirectConnectEnabled instead
 void setFrameworksBaseURL(String aString)
          Sets aString as the path under which all frameworks can be found inside the document root.
 void setIncludeCommentsInResponses(boolean aBool)
          Sets whether or not HTML comments are appended to the response.
 void setJMXDomain(String aName)
          Set the JMX domain.
 void setListenQueueSize(Number listenQueueSize)
          Deprecated. Use the system property WOListenQueueSize instead
 void setLoadFrameworks(NSArray anArray)
          Deprecated. Use the system property WOLoadFrameworks instead
 void setMaxSocketIdleTime(Number maxSocketIdleTime)
          Deprecated. Use the system property WOMaxSocketIdleTime instead
 void setMinimumActiveSessionsCount(int aVal)
          Sets the minimum number of active sessions to aVal.
 void setMonitorEnabled(boolean aBool)
          Sets the value of the WOMonitorEnabled property.
 void setMonitorHost(String aString)
          Deprecated. setMonitorHost no longer supported
 void setNamespaceProvider(WOMLNamespaceProvider value)
          Set the WOMLNamespaceProvider
 void setPageCacheSize(int anUnsigned)
          Sets the number of page instances the cache will hold.
 void setPageFragmentCacheSize(int anUnsigned)
          Sets the number of page fragments the cache will hold.
 void setPageRefreshOnBacktrackEnabled(boolean aFlag)
          When aFlag is true, disables caching of pages by the client by setting the page's expiration-time header to the current date and time.
 void setPermanentPageCacheSize(int anUnsigned)
          Sets the permanentPageCacheSize to anUnsigned.
 void setPort(Number port)
          Deprecated. Use the system property WOPort instead
 void setPrintsHTMLParserDiagnostics(boolean aBOOL)
          Deprecated. See com.webobjects.foundation.NSLog
 void setProjectSearchPath(NSArray aPathArray)
          Sets the array of file system paths which are searched for projects for rapid turnaround mode.
 void setRecordingPath(String aString)
          Sets the file system path to where the recording information should be saved.
 void setResourceManager(WOResourceManager aResourceManager)
          Deprecated. use createResourceManager instead.
 void setResourceRequestHandlerKey(String aString)
          Deprecated. Use the system property _ResourceRequestHandlerKey instead
 void setSessionStore(WOSessionStore aSessionStore)
          Set the session-store object for the application.
 void setSessionStoreClassName(String aString)
          Sets the name of the session store class to the specified name.
 void setSessionTimeOut(Number timeOut)
          Set the interval, in seconds, during which a session may be idle before it times out.
 void setSMTPHost(String aString)
          Sets the name of the host that will be used to send e-mail messages created by WOMailDelivery.
 void setSocketCacheSize(Number socketCacheSize)
          Deprecated. setSocketCacheSize no longer supported
 void setSocketMonitorSleepTime(Number socketMonitorSleepTime)
          Deprecated. setSocketMonitorSleepTime no longer supported
 void setStatisticsStore(WOStatisticsStore aStatisticsStore)
          Sets the WOStatisticsStore object to aStatisticsStore.
 void setTimeOut(double aTimeInterval)
          Sets the number of seconds the application can experience inactivity before it terminates execution.
 void setWebServiceRequestHandlerKey(String aString)
          Deprecated. Use the system property _WebServiceRequestHandlerKey instead
 void setWorkerThreadCount(Number threadCount)
          Deprecated. setWorkerThreadCount no longer supported
 void setWorkerThreadCountMax(Number threadCount)
          Sets the value of the property WOWorkerThreadCountMax.
 void setWorkerThreadCountMin(Number threadCount)
          Sets the value of the property WOWorkerThreadCountMin.
 EOSharedEditingContext sharedEditingContext()
          Deprecated. EOSharedEditingContext.defaultSharedEditingContext should be directly used instead.
 boolean shouldRestoreSessionOnCleanEntry(WORequest aRequest)
          This is a delegate method for the developer to override for custom behavior.
 void sleep()
          Invoked at the conclusion of a request-handling cycle to give an application the opportunity for releasing references to objects created and initialized in its awake method.
 String SMTPHost()
          Returns the name of the host that will be used to send e-mail messages created by WOMailDelivery.
 Number socketCacheSize()
          Deprecated. socketCacheSize no longer supported
 Number socketMonitorSleepTime()
          Deprecated. socketMonitorSleepTime no longer supported
 NSDictionary statistics()
          Returns a copy of the dictionary containing the application statistics maintained by WOStatisticsStore.
 WOStatisticsStore statisticsStore()
          Returns the WOStatisticsStore object, which records statistics while the application runs.
 String streamActionRequestHandlerKey()
          Returns the key which identifies URLs directed at Stream based requests.
 void takeValueForKey(Object value, String key)
          Conformance to NSKeyValueCoding.
 void takeValueForKeyPath(Object value, String keyPath)
          Conformance to NSKeyValueCodingAdditions.
 void takeValuesFromRequest(WORequest aRequest, WOContext aContext)
          WOComponentRequestHandler invokes this method on WOApplication to initiate the first phase of request handling.
 void terminate()
          Terminates the application process.
 void terminateAfterTimeInterval(double aTimeInterval)
          Deprecated. This method is deprecated, and currently just calls setTimeOut.
 double timeOut()
          Returns the application's time-out interval: a period (in seconds) of inactivity after which the application will terminate execution.
 String toString()
          Returns a String containing a string representation of the receiver.
 void unableToSetNullForKey(String key)
          Conformance to NSKeyValueCoding.ErrorHandling.
 void unlock()
          Deprecated. synchronized(WOApplication.application()) should be used instead.
 void unregisterMBean(ObjectName aName)
          Unregister a MBean given its ObjectName, a convenience method.
 void validationFailedWithException(Throwable t, Object value, String keyPath, WOComponent component, WOSession session)
          Appends a validation failed message to NSLog.err.
 Object valueForKey(String key)
          Conformance to NSKeyValueCoding.
 Object valueForKeyPath(String keyPath)
          Conformance to NSKeyValueCodingAdditions.
 boolean wasMainInvoked()
          Used to determine if the WO application was started standalone or not.
 String webserverConnectURL()
          Returns the URL to connect to the application through the web server and WOAdaptors.
 String webServiceRequestHandlerKey()
          Returns the key which identifies URLs directed at Web services.
 Number workerThreadCount()
          Deprecated. workerThreadCount no longer supported
 Number workerThreadCountMax()
          Returns the number of worker threads the default adaptor will create startup.
 Number workerThreadCountMin()
          Returns the number of worker threads the default adaptor will create at startup.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

CGIAdaptorURLProperty

public static final String CGIAdaptorURLProperty
See Also:
Constant Field Values

DocumentRootProperty

public static final String DocumentRootProperty
See Also:
Constant Field Values

DirectoryAliasProperty

public static final String DirectoryAliasProperty
See Also:
Constant Field Values

ApplicationWillFinishLaunchingNotification

public static final String ApplicationWillFinishLaunchingNotification
Contains a String that names the notification posted at the very beginning of WOApplication's run method.

See Also:
Constant Field Values

ApplicationDidFinishLaunchingNotification

public static final String ApplicationDidFinishLaunchingNotification
Contains a String that names the notification posted by WOApplication's run method after the application is launched. This notification is posted immediately before the run method logs the "Waiting for requests." message to the console.

See Also:
Constant Field Values

ApplicationWillDispatchRequestNotification

public static final String ApplicationWillDispatchRequestNotification
Contains a String that names the notification posted at the very beginning of WOApplication's dispatchRequest method.

See Also:
Constant Field Values

ApplicationDidDispatchRequestNotification

public static final String ApplicationDidDispatchRequestNotification
Contains a String that names the notification posted at the end of WOApplication's dispatchRequest method.

See Also:
Constant Field Values
Constructor Detail

WOApplication

public WOApplication()
Creates and initializes the instance of WOApplication. Some of the interesting initializations that may happen:

An NSForwardException is thrown if initialization does not succeed.

See Also:
WOApplication.isPageRefreshOnBacktrackEnabled()
Method Detail

main

public static void main(String[] argv)
The WebObjects application's main method.

Parameters:
argv - the command line arguments

main

public static void main(String[] argv,
                        Class applicationClass)
An alternate main method for the WebObjects applications that allows you to specify a subclass of WOApplication to be instantiated and run instead of WOApplication.

Parameters:
argv - the command line arguments as a string array
applicationClass - a subclass of WOApplication to run instead of WOApplication.

application

public static WOApplication application()
Return the application instance. Do not override this method.

Returns:
the WOApplication object

primeApplication

@Deprecated
public static void primeApplication(String mainBundlePath,
                                               String nameOfApplicationSubclass)
Deprecated. use primeApplication(String, URL, String) instead.

This is used when calling into WebObjects programmatically (typically to use responseForComponentWithName) rather than running a WebObjects application standalone. This must be called before responseForComponentWithName is called.

Parameters:
mainBundlePath - full path to the main bundle (e.g. HelloWorld.woa). Defaults to JavaWebObjects.framework if path is null or doesn't exist.
nameOfApplicationSubclass - Name of the WOApplication subclass to use. Defaults to WOApplication.
See Also:
WOApplication.primeApplication(String, URL, String)

primeApplication

public static void primeApplication(String mainBundleName,
                                    URL mainBundlePathURL,
                                    String nameOfApplicationSubclass)
This is used when calling into WebObjects programmatically (typically to use responseForComponentWithName) rather than running a WebObjects application standalone. This must be called before responseForComponentWithName is called. This cannot be used to load new NSBundles into the WebObjects runtime, either mainBundleName or mainBundlePathURL should reference an existing NSBundle.

Parameters:
mainBundleName - Name of the Main NSBundle. This will be used to locate the main bundle in preference to mainBundlePathURL.
mainBundlePathURL - full URL to the main bundle (e.g. HelloWorld.woa). Defaults to JavaWebObjects.framework if URL is null or doesn't exist. Currently, only URLs of type file: can be used. This parameter is typically left null in favor of mainBundleName
nameOfApplicationSubclass - Name of the WOApplication subclass to use. Defaults to WOApplication.

wasMainInvoked

public boolean wasMainInvoked()
Used to determine if the WO application was started standalone or not. In particular, applications running in a Servlet Container will return false.

Returns:
boolean Whether WOApplication.main was invoked.

sharedEditingContext

@Deprecated
public EOSharedEditingContext sharedEditingContext()
Deprecated. EOSharedEditingContext.defaultSharedEditingContext should be directly used instead.

This is a convenience method that returns the default shared editing context.

Returns:
the default EOSharedEditingContext for this application
See Also:
EOSharedEditingContext.defaultSharedEditingContext()

toString

public String toString()
Returns a String containing a string representation of the receiver.

Overrides:
toString in class Object
Returns:
a string representation of the receiver

path

public String path()
Returns the file system path of the application, which is an absolute path and includes the .woa extension; for example "C:/NETSCAPE/ns-home/docs/WebObjects/Examples/HelloWorld.woa" is a typical application path.

Returns:
the file system path of the application
See Also:
WOApplication.baseURL(), WOApplication._name

baseURL

public String baseURL()
Returns the application URL relative to the server's document root.

Returns:
the application URL relative to the server's document root
See Also:
WOApplication.applicationBaseURL()

getBaseURL

public String getBaseURL()
JMX Support

Specified by:
getBaseURL in interface WOApplicationMBean
Since:
5.4
See Also:
WOApplication.baseURL(), WOApplicationMBean

number

public String number()
Provided for backwards compatibility only. Do not use.

Returns:
"-1"

name

public String name()
Returns the name of the application, which is the value of the WOApplicationName property. If WOApplicationName is not defined, returns the name of the executable without any extensions.

Returns:
the name of the application
See Also:
WOApplication.baseURL(), WOApplication.path()

getName

public String getName()
JMX Support

Specified by:
getName in interface WOApplicationMBean
Since:
5.4
See Also:
WOApplication.name()

getWebObjectsVersion

public String getWebObjectsVersion()
Current version number. Version is determined by the WebObjects framework found in the classpath and the CFBundleShortVersionString value in the plist.

Specified by:
getWebObjectsVersion in interface WOApplicationMBean
Since:
5.4

getFrameworkVersions

public HashMap getFrameworkVersions()
Return versions of NSBundle-aware frameworks or jars found at runtime. The NSDictionary uses the framework name as the key to getting the version string.

Returns:
NSDictionary of framework/jar versions loaded at runtime
Since:
5.4

getClassPaths

public ArrayList getClassPaths()
Return a list of URI formatted classpaths used at bootstrap time by the classloader. These are the resolved paths returned after reading the platform specific classpath files in the .woa bundle. For instance, the MacOSClasspath.txt file located in MyApp.woa/Contents/MacOS/MacOSClassPath.txt

Specified by:
getClassPaths in interface WOApplicationMBean
Returns:
ArrayList of paths
Since:
5.4

terminate

public void terminate()
Terminates the application process. Termination does not take place until the handling of the current request has completed.

See Also:
WOApplication.isTerminating(), WOApplication.setTimeOut(double)

isTerminating

public boolean isTerminating()
Returns whether the application will terminate at the end of the current request-response loop.

Returns:
true if the application will terminate, false otherwise
See Also:
WOApplication.setTimeOut(double), WOApplication.defaultRequestHandler(), WOApplication.terminateAfterTimeInterval(double), WOApplication.timeOut()

getIsTerminating

public boolean getIsTerminating()
JMX Support

Specified by:
getIsTerminating in interface WOApplicationMBean
Since:
5.4

setTimeOut

public void setTimeOut(double aTimeInterval)
Sets the number of seconds the application can experience inactivity before it terminates execution.

Parameters:
aTimeInterval - the number of seconds the application can experience inactivity before it terminates execution
See Also:
WOApplication.terminateAfterTimeInterval(double), WOApplication.timeOut()

timeOut

public double timeOut()
Returns the application's time-out interval: a period (in seconds) of inactivity after which the application will terminate execution. The default application time-out interval is a very large number.

Returns:
the application's time-out interval
See Also:
WOApplication.setTimeOut(double)

getTimeOut

public double getTimeOut()
JMX Support

Specified by:
getTimeOut in interface WOApplicationMBean
Since:
5.4
See Also:
WOApplication.timeOut()

run

public void run()
Runs the application in a near-indefinite run loop in the default run-loop mode. Before starting the run loop, the method sends registerForEvents to the application's adaptors so that they can begin receiving run-loop events. Normally, run is invoked from the main method.

See Also:
WOApplication.setTimeOut(double), WOApplication.defaultRequestHandler(), WOApplication.terminateAfterTimeInterval(double), WOAdaptor.registerForEvents()

adaptorWithName

public WOAdaptor adaptorWithName(String aClassName,
                                 NSDictionary anArgsDictionary)
Invoked in the constructor to create an adaptor. If you subclass WOAdaptor, you should specify the WOAdaptor subclass you want the application to use with the WOAdditionalAdaptors property. This property expects as its value a properly formatted plist containing a dictionary of initialization values for the adaptor. This method looks for a subclass of WOAdaptor with the name aClassName (which was supplied in the dictionary with the key WOAdaptor), and if such a class exists, creates a new instance. The anArgsDictionary dictionary is populated with any adaptor-specific options.

Parameters:
aClassName - the WOAdaptor subclass name
anArgsDictionary - the adaptor description dictionary
Returns:
a new instance is created if the specified subclass exists
See Also:
WOApplication.adaptors(), WOAdaptor

adaptors

public NSArray adaptors()
Returns a list of the loaded application adaptors. A WOApplication can have multiple adaptors. This allows you to design an application that can not only listen to a socket for incoming HTTP requests (using the WODefaultAdaptor), but can also receive remote request messages using more advanced RPC mechanisms such as CORBA and DCOM.

Returns:
a list of the loaded application adaptors
See Also:
WOApplication.adaptorWithName(java.lang.String, com.webobjects.foundation.NSDictionary)

defaultAdaptor

public WOAdaptor defaultAdaptor()
Returns the default application adaptor.

Returns:
default adaptor

getDefaultAdaptor

public String getDefaultAdaptor()
JMX Support

See Also:
WOApplication.defaultAdaptor()

setResourceManager

@Deprecated
public void setResourceManager(WOResourceManager aResourceManager)
Deprecated. use createResourceManager instead.

Do not use this method. Use createResourceManager to replace the default WOResourceManager implementation with your own.

Parameters:
aResourceManager - an instance of a WOResourceManager subclass
See Also:
WOApplication.resourceManager(), WOApplication.createResourceManager()

resourceManager

public WOResourceManager resourceManager()
Returns the WOResourceManager object that the application uses to manage resources.

Returns:
the WOResourceManager object that the application uses to manage resources
See Also:
WOApplication.setResourceManager(com.webobjects.appserver.WOResourceManager)

dispatchRequest

public WOResponse dispatchRequest(WORequest aRequest)
The starting point of the request-response cycle in WOApplication. Invoked by the adaptor.

Parameters:
aRequest - the WORequest received by the adaptor
Returns:
a WOResponse containing the response that the application will return to the client

awake

public void awake()
Invoked at the beginning of each cycle of the request-response loop, affording the opportunity to perform initializations with application-wide scope. Since the default implementation does nothing, overridden implementations do not have to call super.

See Also:
WOApplication.sleep()

takeValuesFromRequest

public void takeValuesFromRequest(WORequest aRequest,
                                  WOContext aContext)
WOComponentRequestHandler invokes this method on WOApplication to initiate the first phase of request handling. In this phase, takeValuesFromRequest is propagated to the session and component objects involved in the request as well as the request page's dynamic elements. Each dynamic element acquires any entered data or changed state (such as a check in a check box) associated with an attribute and assigns the value to the variable bound to the attribute. The default WOApplication implementation of this method invokes takeValuesFromRequest on the session object.

Parameters:
aRequest - the request to be handled
aContext - the context of the transaction
See Also:
WOApplication.appendToResponse(com.webobjects.appserver.WOResponse, com.webobjects.appserver.WOContext), WOApplication.invokeAction(com.webobjects.appserver.WORequest, com.webobjects.appserver.WOContext), WOSession.takeValuesFromRequest(com.webobjects.appserver.WORequest, com.webobjects.appserver.WOContext)

invokeAction

public WOActionResults invokeAction(WORequest aRequest,
                                    WOContext aContext)
The WOApplication object invokes this method on itself to initiate the middle phase of request handling. In this phase, invokeAction is propagated through the objects of the application until the dynamic element that has received the user action (for instance, a click on a button) responds to the method by triggering the method in the request component that is bound to the action. The default WOApplication implementation of this method invokes invokeAction on the session object.

Parameters:
aRequest - the request to be handled
aContext - the context of the transaction
Returns:
a WOActionResults
See Also:
WOApplication.appendToResponse(com.webobjects.appserver.WOResponse, com.webobjects.appserver.WOContext), WOSession.invokeAction(com.webobjects.appserver.WORequest, com.webobjects.appserver.WOContext), WOActionResults

appendToResponse

public void appendToResponse(WOResponse aResponse,
                             WOContext aContext)
The WOApplication object invokes this method on itself to initiate the final phase of request handling. This occurs right after the invokeAction method has completed, typically with the return of a response page. In the append-to-response phase, the application objects (particularly the response component itself) generate the HTML content of the page. WOApplication's default implementation of this method invokes appendToResponse on the session. Note This method is not called during a direct action request-response loop.

Parameters:
aResponse - the response being handled
aContext - a WOContext object that represents the context of the transaction
See Also:
WOApplication.invokeAction(com.webobjects.appserver.WORequest, com.webobjects.appserver.WOContext), WOSession.appendToResponse(com.webobjects.appserver.WOResponse, com.webobjects.appserver.WOContext)

sleep

public void sleep()
Invoked at the conclusion of a request-handling cycle to give an application the opportunity for releasing references to objects created and initialized in its awake method. The default implementation does nothing.


setSessionStore

public void setSessionStore(WOSessionStore aSessionStore)
Set the session-store object for the application. By default, an object that stores session state in process memory (that is, in the server) is used. The session-store object specifies the state storage strategy for the whole application. This object is responsible for making session objects persistent. You should set the session store object when the application starts up, before the first request is handled.

Parameters:
aSessionStore - the session-store for the application
Throws:
IllegalArgumentException - if aSessionStore is null
See Also:
WOApplication.sessionStore(), WOSessionStore

sessionStore

public WOSessionStore sessionStore()
Returns the application's current WOSessionStore object. By default, an object that stores session state in process memory (that is, in the server) is used.

Returns:
the application's current WOSessionStore object
See Also:
WOApplication.setSessionStore(com.webobjects.appserver.WOSessionStore), WOSessionStore

saveSessionForContext

public void saveSessionForContext(WOContext aContext)
Called at the end of the request handling loop when the current session object needs to be saved. The default implementation simply invokes WOSessionStore's checkInSessionForContext method, but throws an exception if the WOSession object is missing or if there is no WOSessionStore.

Parameters:
aContext - the context of a transaction
See Also:
WOSessionStore.checkInSessionForContext(com.webobjects.appserver.WOContext), WOSessionStore.restoreSessionWithID(java.lang.String, com.webobjects.appserver.WORequest)

restoreSessionWithID

public WOSession restoreSessionWithID(String aSessionID,
                                      WOContext aContext)
Restores the WOSession object representing a session. In normal request handling, this method is invoked at the start of a cycle of the request-response loop. The default implementation simply invokes WOSessionStore's checkOutSessionWithID method, but raises an exception if the WOSessionStore object is missing. This method also posts a SessionDidRestoreNotification, with the session restored passed as a parameter (null if the session was not restored).

Parameters:
aSessionID - the uniqued string that identifies the session object
aContext - the context of a transaction
Returns:
the WOSession object with id aSessionID
See Also:
WOApplication.createSessionForRequest(com.webobjects.appserver.WORequest), WOApplication.saveSessionForContext(com.webobjects.appserver.WOContext), WOSessionStore.checkOutSessionWithID(java.lang.String, com.webobjects.appserver.WORequest)

createSessionForRequest

public WOSession createSessionForRequest(WORequest aRequest)
Creates and returns a WOSession object to manage a session for the client. The method goes through several steps to locate the class to use for instantiating this object:

  1. First it looks for a class of name "Session" that is a subclass of WOSession and is in the same package as the subclass of WOApplication being used.
  2. If such a class does not exist, it uses WOSession.

The method then returns an initialized (using the default WOSession constructor) session instance of the selected class.

Note: An implication of the foregoing description is that the names of WOSession subclasses should be "Session", and that this class should be in the same package as the subclass of WOApplication. If not, you will have to override this method to use the proper class to create the session object. The default implementation of createSessionForRequest does not catch any exception thrown by the runtime if it is unable to instantiate a new session. It never returns null.

If you implement this method to return null in certain conditions:

In component request handling, this will trigger a call to handleSessionCreationErrorInContext.

In a direct action, WOContext.session will throw an IllegalStateException, and you'll need to catch it yourself to call handleSessionCreationErrorInContext if desired.

Parameters:
aRequest - the WORequest being handled
Returns:
a WOSession object to manage a user session
See Also:
WOApplication.restoreSessionWithID(java.lang.String, com.webobjects.appserver.WOContext), WOApplication.saveSessionForContext(com.webobjects.appserver.WOContext), WOApplication.handleSessionCreationErrorInContext(com.webobjects.appserver.WOContext), WOContext.session()

shouldRestoreSessionOnCleanEntry

public boolean shouldRestoreSessionOnCleanEntry(WORequest aRequest)
This is a delegate method for the developer to override for custom behavior. If an application receives a request with a "clean" URL (i.e. with nothing after the application name) and the sessionID is stored in a cookie, this method is invoked to determine if the session should be restored using the stored session ID. If Servlet integration is being used, this determines if an existing JSP/Servlet session should be invalidated when receiving a request with a "clean" URL. This method defaults to returning false, so that existing WOSessions will not be restored, and any JSP/Servlet sessions will be invalidated.

Parameters:
aRequest - the incoming request object.
Returns:
boolean return true to restore an existing session, false to ignore or invalidate existing sessions.

setContextClassName

public void setContextClassName(String name)
Sets the name of the WOContext subclass class.

Parameters:
name - the name of the WOContext subclass; ignored if null

contextClassName

public String contextClassName()
Defaults to WOContext.

Returns:
the name of the WOContext subclass

createContextForRequest

public WOContext createContextForRequest(WORequest aRequest)
Creates a new context object for a given request. Override this method if you need to provide your own subclass of WOContext. If you override it, your implementation need not call super.

Alternatively, use setContextClassName and contextClassName.

If you are using JSP or Servlet support (JavaWOJSPServlet.framework), you must subclass WOServletContext instead of WOContext.

Parameters:
aRequest - the WORequest that the WOContext is generated for
Returns:
an instance of the WOContext subclass
See Also:
WOApplication.setContextClassName(java.lang.String), WOApplication.contextClassName()

createResponseInContext

public WOResponse createResponseInContext(WOContext aContext)
Convenience method that instantiates and returns a new, empty WOResponse object.

Parameters:
aContext - the context of the transaction
Returns:
a new, empty WOResponse object

createResourceManager

public WOResourceManager createResourceManager()
Creates a new instance of WOResourceManager. The WOApplication constructor calls this method. Override this method if you need to provide your own subclass of WOResourceManager. If you override it, your implementation need not call super.

Do not use this method to get a reference to the WOResourceManager object. Multiple calls to this method will result in multiple instantiations, which is memory intensive. Use resourceManager to get a reference instead.

Returns:
the instance of WOResourceManager (or subclass) that the application should use
See Also:
WOApplication.resourceManager()

createRequest

public WORequest createRequest(String aMethod,
                               String aURL,
                               String anHTTPVersion,
                               Map someHeaders,
                               NSData aContent,
                               Map someInfo)
Convenience method that instantiates and returns a new WORequest object. Developers should override this method to either modify HTTP request data before the WORequest object is instantiated, or to create a custom subclass of WORequest. The default implementation directly invokes the WORequest constructor. Therefore aMethod, aURL and anHTTPVersion are required by the default version. If overridden to create a custom WORequest subclass, the subclass constructor will define the parameter requirements.

Parameters:
aMethod - the HTTP method object used to send the request
aURL - the URI request line
anHTTPVersion - the version of HTTP used
someHeaders - dictionary whose String keys correspond to header names
aContent - the HTML content of the receiver
someInfo - an NSDictionary that can contain any kind of information related to the current response.
Returns:
a new WORequest object
See Also:
WORequest

activeSessionsCount

public int activeSessionsCount()
The number returned is only accurate if the application stores state in the server's memory, which is the default. If you use a custom state-storage strategy however, there may be no way to tell how many sessions are active for a given application instance.

Returns:
the number of currently active sessions (sessions that have not timed out)
See Also:
WOApplication.minimumActiveSessionsCount(), WOApplication.setMinimumActiveSessionsCount(int)

setPageCacheSize

public void setPageCacheSize(int anUnsigned)
Sets the number of page instances the cache will hold. Disable page caching by passing 0 for anUnsigned. Pages that require state must be cached in order to access that state for the very next request. If you have components that hold state (which is the usual case), disable page caching by passing 1 for anUnsigned.

Parameters:
anUnsigned - the number of pages the cache will hold
See Also:
WOApplication.pageCacheSize(), WOApplication.setPermanentPageCacheSize(int)

pageCacheSize

public int pageCacheSize()
Provides the size of the default page cache. The default cache size is 30. When page caching is enabled, the session object holds the WOComponent instance corresponding to the response page. When a browser backtracks to the page, the session restores it from the session to act as the request page. The state of the page is retained. If the page is not in the cache or if page caching is disabled, the page is not stored in the session and cannot be reaccessed if the browser backtracks to it.

Returns:
the size of the internal cache for page instances
See Also:
WOApplication.permanentPageCacheSize(), WOApplication.setPageCacheSize(int), WOSession.restorePageForContextID(java.lang.String), WOSession.savePage(com.webobjects.appserver.WOComponent)

getPageCacheSize

public int getPageCacheSize()
JMX Support

Specified by:
getPageCacheSize in interface WOApplicationMBean
Since:
5.4
See Also:
WOApplication.pageCacheSize()

setPageFragmentCacheSize

public void setPageFragmentCacheSize(int anUnsigned)
Sets the number of page fragments the cache will hold. Disable page fragments caching by passing 0 for anUnsigned. Pages fragments that require state must be cached in order to access that state for the very next request. If you have components that hold state (which is the usual case), disable page caching by passing 1 for anUnsigned.

Parameters:
anUnsigned - the number of page fragments the cache will hold
Since:
5.4
See Also:
WOApplication.pageFragmentCacheSize(), WOApplication.setPageFragmentCacheSize(int)

pageFragmentCacheSize

public int pageFragmentCacheSize()
Provides the size of the default page fragments cache. The default cache size is 30. When page fragment caching is enabled, the session object holds the WOComponent instance corresponding to the response page. When a browser backtracks to the page, the session restores it from the session to act as the request page. The state of the page fragment is retained. If the page is not in the cache or if page caching is disabled, the page fragment is not stored in the session and cannot be reaccessed if the browser backtracks to it.

Returns:
the size of the internal cache for page fragment instances
Since:
5.4
See Also:
WOApplication.pageFragmentCacheSize(), WOApplication.setPageFragmentCacheSize(int), WOSession.restorePageForContextID(java.lang.String), WOSession.savePage(com.webobjects.appserver.WOComponent)

getPageFragmentCacheSize

public int getPageFragmentCacheSize()
JMX Support

Since:
5.4
See Also:
WOApplication.pageFragmentCacheSize()

setPermanentPageCacheSize

public void setPermanentPageCacheSize(int anUnsigned)
Sets the permanentPageCacheSize to anUnsigned. Setting the size to 0 disables the permanent page cache.

Parameters:
anUnsigned - the permanentPageCacheSize is set to this value
See Also:
WOApplication.permanentPageCacheSize(), WOApplication.setPageCacheSize(int)

permanentPageCacheSize

public int permanentPageCacheSize()
Provides the size of the permanent page cache. The default size is 30.

Returns:
the permanent page cache size
See Also:
WOApplication.pageCacheSize(), WOApplication.setPermanentPageCacheSize(int), WOSession.restorePageForContextID(java.lang.String), WOSession.savePageInPermanentCache(com.webobjects.appserver.WOComponent)

setPageRefreshOnBacktrackEnabled

public void setPageRefreshOnBacktrackEnabled(boolean aFlag)
When aFlag is 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 true. Disabling of client caching affects what happens during backtracking. With client caching disabled, the browser resends the URL to the server for the page requested by backtracking. The application will then 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.

Parameters:
aFlag - when true caching of pages by the client is disabled
See Also:
WOApplication.isPageRefreshOnBacktrackEnabled()

isPageRefreshOnBacktrackEnabled

public boolean isPageRefreshOnBacktrackEnabled()
Returns whether caching of pages is disabled in the client. If it is, the client does not restore request pages from its cache but re-creates them "from scratch" by resending the URL to the server. This flag is set to true by default.

Returns:
true if client caching is disabled, false otherwise
See Also:
WOApplication.setPageRefreshOnBacktrackEnabled(boolean)

getIsPageRefreshOnBacktrackEnabled

public boolean getIsPageRefreshOnBacktrackEnabled()
JMX Support

Specified by:
getIsPageRefreshOnBacktrackEnabled in interface WOApplicationMBean
Since:
5.4

pageWithName

public WOComponent pageWithName(String aName,
                                WOContext aContext)
Returns a new page instance (a WOComponent object) identified by aName. If aName is null, the Main component is assumed. If the method cannot create a valid page instance, an exception is thrown.

Parameters:
aName - the name of a page instance (a WOComponent object)
aContext - the context of a transaction
Returns:
a new page instance
See Also:
WOSession.restorePageForContextID(java.lang.String), WOSession.savePage(com.webobjects.appserver.WOComponent)

dynamicElementWithName

public WOElement dynamicElementWithName(String aName,
                                        NSDictionary someAssociations,
                                        WOElement anElement,
                                        NSArray aLanguageArray)
Creates and returns a WOElement object based on the element's name, a dictionary of associations, and a template of WOElements. This method is invoked automatically by the template parser to provide a WOElement object that represents a WEBOBJECT element in the HTML template. You don't ordinarily invoke this method, but you might override it to substitute your own WOElement or reusable component for one of the standard WOElements.

The arguments aName and someAssociations are derived from a corresponding line in the declarations file. aName is a String that identifies the type of element to create. Generally aName specifies a standard WOElement such as WOString. It may also identify a reusable component. For example, in the method dynamicElementWithName for the following declaration:

                APP_STRING: WOString {value = applicationString;};
 
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 to return instead. If neither is found, this method returns null. The template parser uses this method to instantiate dynamic elements only; WOSwitchComponent uses this method to instantiate either dynamic elements or components.

Parameters:
aName - string that identifies the type of element to create
someAssociations - a dictionary of associations
anElement - a template of elements
aLanguageArray - NSArray containing the language preferences specified by the browser
Returns:
a WOElement object
See Also:
WODynamicElement

combinedComponentPathURL

protected URL combinedComponentPathURL(WOResourceManager aResourceManager,
                                       String templateName,
                                       String aFrameworkName,
                                       String aLanguage,
                                       boolean refreshProjectOnCacheMiss)

setPrintsHTMLParserDiagnostics

@Deprecated
public void setPrintsHTMLParserDiagnostics(boolean aBOOL)
Deprecated. See com.webobjects.foundation.NSLog

Deprecated. Does nothing.

Parameters:
aBOOL -

printsHTMLParserDiagnostics

@Deprecated
public boolean printsHTMLParserDiagnostics()
Deprecated. See com.webobjects.foundation.NSLog

Deprecated. Does nothing.

Returns:
true in all cases

setStatisticsStore

public void setStatisticsStore(WOStatisticsStore aStatisticsStore)
Sets the WOStatisticsStore object to aStatisticsStore. WOStatisticsStore objects record application statistics while the application runs.

Parameters:
aStatisticsStore - the WOStatisticsStore object is set to this
See Also:
WOApplication.statisticsStore()

statisticsStore

public WOStatisticsStore statisticsStore()
Returns the WOStatisticsStore object, which records statistics while the application runs.

Returns:
the WOStatisticsStore object
See Also:
WOApplication.setStatisticsStore(com.webobjects.appserver.WOStatisticsStore)

statistics

public NSDictionary statistics()
Returns a copy of the dictionary containing the application statistics maintained by WOStatisticsStore. This method is used by the Monitor application to retrieve application statistics. If you need to access the statistics internally, use the following instead:

 WOApplication.application().statisticsStore().statistics()
 

Returns:
a dictionary containing application statistics

refuseNewSessions

public void refuseNewSessions(boolean aVal)
Controls whether this application instance will create a session when it receives an HTTP request from a new user. If aVal is 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 aVal is false, the application creates new sessions. false is the default.

This method is used with setMinimumActiveSessionsCount to gracefully shut down application instances. Use setMinimumActiveSessionsCount to set the active session minimum to a certain number. When the number of active sessions reaches the number that is set and isRefusingNewSessions returns true, the application terminates.

Parameters:
aVal - true if the application should create new sessions, false otherwise
See Also:
WOApplication.activeSessionsCount(), WOApplication.isRefusingNewSessions(), WOApplication.minimumActiveSessionsCount(), WOApplication.setMinimumActiveSessionsCount(int)

isRefusingNewSessions

public boolean isRefusingNewSessions()
Returns true if the application instance is refusing new sessions, and false otherwise. When the application instance refuses new sessions, the WebObjects adaptor tries to create 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.

Returns:
true if the application instance is refusing new sessions, false otherwise

getIsRefusingNewSessions

public boolean getIsRefusingNewSessions()
JMX Support

Specified by:
getIsRefusingNewSessions in interface WOApplicationMBean
Since:
5.4

setMinimumActiveSessionsCount

public void setMinimumActiveSessionsCount(int aVal)
Sets the minimum number of active sessions to aVal. The default value is 0.

Use this method in conjunction with refuseNewSessions to gracefully shut down application instances. If the active sessions count reaches the minimum active session count and isRefusingNewSessions returns true, the application terminates. It may be desirable 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.

Parameters:
aVal - the minimum number of active sessions
See Also:
WOApplication.activeSessionsCount(), WOApplication.isRefusingNewSessions(), WOApplication.minimumActiveSessionsCount(), WOApplication.refuseNewSessions(boolean)

minimumActiveSessionsCount

public int minimumActiveSessionsCount()
If the number of active sessions is less than or equal to this number and isRefusingNewSessions returns true, the application instance terminates. The default is 0.

Returns:
the minimum number of active sessions allowed
See Also:
WOApplication.activeSessionsCount(), WOApplication.isRefusingNewSessions(), WOApplication.refuseNewSessions(boolean), WOApplication.setMinimumActiveSessionsCount(int)

getMinimumActiveSessionsCount

public int getMinimumActiveSessionsCount()
JXM Support

Specified by:
getMinimumActiveSessionsCount in interface WOApplicationMBean
Since:
5.4
See Also:
WOApplication.minimumActiveSessionsCount()

handleSessionCreationErrorInContext

public WOResponse handleSessionCreationErrorInContext(WOContext aContext)
Invoked by the component request handler when a session (WOSession) instance cannot be created. The default behavior displays a page with debugging information.

Override this method to display a more user-friendly error page. In the case of Direct Actions, you may call this method yourself.

Parameters:
aContext - the context of the transaction
Returns:
a WOResponse containing a page with debugging information
See Also:
WOApplication.handleException(java.lang.Exception, com.webobjects.appserver.WOContext), WOApplication.handlePageRestorationErrorInContext(com.webobjects.appserver.WOContext), WOApplication.handleSessionRestorationErrorInContext(com.webobjects.appserver.WOContext), WOContext.session()

handleSessionRestorationErrorInContext

public WOResponse handleSessionRestorationErrorInContext(WOContext aContext)
Invoked when a session (WOSession) instance cannot be restored, which typically happens when the session times out. The default behavior displays a page with debugging information.

Override this method to display a more user-friendly error page.

Parameters:
aContext - the context of the transaction
Returns:
a WOResponse containing a page with debugging information
See Also:
WOApplication.handleException(java.lang.Exception, com.webobjects.appserver.WOContext), WOApplication.handlePageRestorationErrorInContext(com.webobjects.appserver.WOContext), WOApplication.handleSessionCreationErrorInContext(com.webobjects.appserver.WOContext)

handlePageRestorationErrorInContext

public WOResponse handlePageRestorationErrorInContext(WOContext aContext)
Invoked when a page (WOComponent) instance cannot be restored, which typically happens when a user backtracks too far. Specifically, this method is invoked when the following occurs: the request is not the first of a session, page restoration by context ID fails, and page re-creation is disabled. The default behavior displays a page with debugging information.

Override this method to display a more user-friendly error page.

Parameters:
aContext - the context of the transaction
Returns:
a WOResponse containing a page with debugging information
See Also:
WOApplication.handleException(java.lang.Exception, com.webobjects.appserver.WOContext), WOApplication.handleSessionCreationErrorInContext(com.webobjects.appserver.WOContext), WOApplication.handleSessionRestorationErrorInContext(com.webobjects.appserver.WOContext)

handleActionRequestError

public WOResponse handleActionRequestError(WORequest aRequest,
                                           Exception exception,
                                           String reason,
                                           WORequestHandler aHandler,
                                           String actionClassName,
                                           String actionName,
                                           Class actionClass,
                                           WOAction actionInstance)
Invoked when an action handler throws an exception in handleRequest. Action handlers are subclasses of the WOActionRequestHandler, and include the WODirectActionRequestHandler.
exception is the actual exception that was thrown.
Typically, this is invoked in the following cases:
actionClassName, actionName, actionClass and actionInstance are self explanatory. They may be null, as they represent the state of the handler at the time of the throw.
If a WOContext object is needed, check if actionInstance isn't null and has a context object. Otherwise, simply invoke createContextForRequest to create an appropriate WOContext object.
The default behavior is to simply return null. This will cause the original code path to be taken, resulting in the appropriate generateErrorResponse method invocation.
Override this method to display a more user-friendly error page.

Parameters:
aRequest - the request being processed
exception - the exception that was thrown
reason - the reason that the exception was thrown
aHandler - the handler that threw the exception
actionClassName - the name of the WOAction subclass
actionName - the name of the action to invoke on the WOAction object
actionClass - the class of the WOAction subclass
actionInstance - the actual WOAction object
Returns:
a WOResponse containing a page with debugging information
See Also:
WOActionRequestHandler.generateErrorResponse(java.lang.Exception, com.webobjects.appserver.WOContext)

handleException

public WOResponse handleException(Exception anException,
                                  WOContext aContext)
Invoked when an unexpected exception is thrown in the request-response loop. The default behavior displays a page with debugging information.

Override this method to display a more user-friendly error page.

Parameters:
anException - the exception that occurred within the request-response loop
aContext - the context of the transaction
Returns:
a WOResponse containing a page with debugging information
See Also:
WOApplication.handleSessionCreationErrorInContext(com.webobjects.appserver.WOContext), WOApplication.handleSessionRestorationErrorInContext(com.webobjects.appserver.WOContext), WOApplication.handlePageRestorationErrorInContext(com.webobjects.appserver.WOContext)

handleMalformedCookieString

public NSMutableDictionary handleMalformedCookieString(RuntimeException anException,
                                                       String cookieString,
                                                       NSMutableDictionary aReturnDict)
Invoked when a malformed cookie is parsed. The default behavior is to parse as much of the string as possible and ignore the rest. Override this to implement a different recovery strategy.

Parameters:
anException - the exception thrown during parsing
cookieString - the cookie string being parsed
aReturnDict - the cookies that were successfully parsed
Returns:
an NSMutableDictionary containing cookie key value pairs

registerRequestHandler

public void registerRequestHandler(WORequestHandler aHandler,
                                   String aRequestHandlerKey)
Registers a new request handler. aRequestHandlerKey must specify a key which can be found in the URL following the instance number or application name.

Parameters:
aHandler - a request handler
aRequestHandlerKey - a String key which will be found in the URL
See Also:
WOApplication.removeRequestHandlerForKey(java.lang.String), WOApplication.registeredRequestHandlerKeys(), WOApplication.requestHandlerForKey(java.lang.String)

removeRequestHandlerForKey

public WORequestHandler removeRequestHandlerForKey(String aRequestHandlerKey)
Removes the specified request handler from the application.

Parameters:
aRequestHandlerKey - a String key which will be found in the URL
Returns:
the removed WORequestHandler
See Also:
WOApplication.requestHandlerForKey(java.lang.String), WOApplication.registeredRequestHandlerKeys()

defaultRequestHandler

public WORequestHandler defaultRequestHandler()
Returns the request handler to be used when no request handler key is found in the URL or WORequest. By default, returns the WOComponent request handler. When an application is contacted for the first time it is usually via a URL like the following:

                 http://somehost/cgi-bin/WebObjects/AppName.woa
 
The way that URLs of this type are handled is determined by the default request handler.

Returns:
the default request handler
See Also:
WOApplication.setDefaultRequestHandler(com.webobjects.appserver.WORequestHandler)

setDefaultRequestHandler

public void setDefaultRequestHandler(WORequestHandler aRequestHandler)
Sets the default request handler.

Parameters:
aRequestHandler - the default request handler
See Also:
WOApplication.defaultRequestHandler()

requestHandlerForKey

public WORequestHandler requestHandlerForKey(String aKey)
Returns the request handler used to handle requests containing the specified key.

Parameters:
aKey - a String key identifying the request handler to be used
Returns:
the request handler
See Also:
WOApplication.handlerForRequest(com.webobjects.appserver.WORequest), WOApplication.registerRequestHandler(com.webobjects.appserver.WORequestHandler, java.lang.String), WOApplication.registeredRequestHandlerKeys()

registeredRequestHandlerKeys

public NSArray registeredRequestHandlerKeys()
Returns an array of Strings containing the keys of all of the registered request handlers.

Returns:
an NSArray of Strings containing the keys of all registered request handlers
See Also:
WOApplication.handlerForRequest(com.webobjects.appserver.WORequest), WOApplication.requestHandlerForKey(java.lang.String)

handlerForRequest

public WORequestHandler handlerForRequest(WORequest aRequest)
Returns the request handler to be used to handle a given request. This will either be the request handler identified by a request handler key in the URL, or the default request handler.

Parameters:
aRequest - a request
Returns:
the request handler used to handle the request
See Also:
WOApplication.registerRequestHandler(com.webobjects.appserver.WORequestHandler, java.lang.String), WOApplication.registeredRequestHandlerKeys(), WOApplication.requestHandlerForKey(java.lang.String)

defaultRequestHandlerClassName

public String defaultRequestHandlerClassName()
Returns the class name of the default request handler. By default, this method returns "com.webobjects.appserver._private.WOComponentRequestHandler". Override this method to return "com.webobjects.appserver._private.WODirectActionRequestHandler" to make the direct action request handler the default.

Returns:
the class name of the default request handler

debugString

@Deprecated
public void debugString(String aString)
Deprecated. use NSLog instead.

Deprecated. Use NSLog instead.

Parameters:
aString - message to be printed to the standard error device
See Also:
NSLog

logString

@Deprecated
public void logString(String aString)
Deprecated. Use NSLog instead

Deprecated. Use NSLog instead.

Parameters:
aString - message to be printed to the standard out device
See Also:
NSLog

logTakeValueForDeclarationNamed

public void logTakeValueForDeclarationNamed(String aDeclarationName,
                                            String aDeclarationType,
                                            String aBindingName,
                                            String anAssociationDescription,
                                            Object aValue)
Formats and logs a message anytime a value is taken through a WOAssociation, when WODebug is set to 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 WebObjects declaration:

                aDeclarationName : aDeclarationType
                 { aBindingName = anAssociationDescription; }
 
Also, aValue is the value which is being pushed to or pulled from the child to the parent.

Parameters:
aDeclarationName - the declaration name in which the association appears
aDeclarationType - the declaration type for the association
aBindingName - binding name of the component
anAssociationDescription - the description of the binding
aValue - the value which is being pushed to or pulled from the child to the parent

logSetValueForDeclarationNamed

public void logSetValueForDeclarationNamed(String aDeclarationName,
                                           String aDeclarationType,
                                           String aBindingName,
                                           String anAssociationDescription,
                                           Object aValue)
Formats and logs a message anytime a value is set through a WOAssociation, when WODebug is set to true for the declaration in which the association appears. Setting a value means the child component/element is setting a value in the parent).

Parameters:
aDeclarationName - the declaration name in which the association appears
aDeclarationType - the declaration type for the association
aBindingName - binding name of the component
anAssociationDescription - the description of the binding
aValue - the value which is being pushed to or pulled from the child to the parent
See Also:
WOApplication.logTakeValueForDeclarationNamed(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.Object)

monitoringEnabled

@Deprecated
public boolean monitoringEnabled()
Deprecated. monitoringEnabled is no longer supported

This is a deprecated cover method for isMonitorEnabled.

Returns:
isMonitorEnabled()
See Also:
WOApplication.isMonitorEnabled()

terminateAfterTimeInterval

@Deprecated
public void terminateAfterTimeInterval(double aTimeInterval)
Deprecated. This method is deprecated, and currently just calls setTimeOut.

See Also:
WOApplication.setTimeOut(double)

directConnectURL

public String directConnectURL()
Returns the URL to connect to the application directly without going through the web server and WOAdaptors. It includes the path to the WebObjects CGI adaptor (although it ignores it), and the port number on which the application is listening. For example, http://localhost:8888/cgi-bin/WebObjects This URL is used in development mode.

Returns:
the URL for the web server
See Also:
WOApplication.cgiAdaptorURL(), WOApplication.webserverConnectURL(), WOApplication.servletConnectURL()

getDirectConnectURL

public String getDirectConnectURL()
JMX Support

Specified by:
getDirectConnectURL in interface WOApplicationMBean
Since:
5.4
See Also:
WOApplication.directConnectURL(), WOApplicationMBean

webserverConnectURL

public String webserverConnectURL()
Returns the URL to connect to the application through the web server and WOAdaptors. It includes the path to the WebObjects CGI adaptor, the application name, and a negative port number. For example, http://localhost/cgi-bin/WebObjects/HelloWorld.woa/-4444. The negative port number ensures that using this URL returns to the specific application that created it in a load-balancing scenario. This URL is used mostly to test deployment mode on a development system.

Returns:
the URL for the web server
See Also:
WOApplication.cgiAdaptorURL(), WOApplication.directConnectURL(), WOApplication.servletConnectURL()

getWebserverConnectURL

public String getWebserverConnectURL()
JMX Support

Specified by:
getWebserverConnectURL in interface WOApplicationMBean
Since:
5.4
See Also:
WOApplication.webserverConnectURL()

servletConnectURL

public String servletConnectURL()
Returns the URL to connect to the application through a servlet container. It includes the path to the WebObjects CGI adaptor and the application name. For example, http://localhost/cgi-bin/WebObjects/HelloWorld.woa. This URL is used mostly in servlet deployment mode.

Returns:
the URL for the web server
See Also:
WOApplication.cgiAdaptorURL(), WOApplication.directConnectURL(), WOApplication.webserverConnectURL()

getServletConnectURL

public String getServletConnectURL()
JMX Support

Specified by:
getServletConnectURL in interface WOApplicationMBean
Since:
5.4
See Also:
WOApplication.servletConnectURL()

adaptorsDispatchRequestsConcurrently

public final boolean adaptorsDispatchRequestsConcurrently()
Return whether or not there is at least one multi-threaded adaptor which may attempt to dispatch requests concurrently.

Returns:
true if at least one adaptor may attempt to concurrently invoke the request handlers

getAdaptorsDispatchRequestsConcurrently

public boolean getAdaptorsDispatchRequestsConcurrently()
JMX Support

Specified by:
getAdaptorsDispatchRequestsConcurrently in interface WOApplicationMBean
Since:
5.4
See Also:
WOApplication.adaptorsDispatchRequestsConcurrently(), WOApplicationMBean

isConcurrentRequestHandlingEnabled

public final boolean isConcurrentRequestHandlingEnabled()
Returns true if at least one adaptor may dispatch requests concurrently and allowsConcurrentRequestHandling returns true.

Returns:
true if concurrent request handling is enabled, false otherwise
See Also:
WOApplication.allowsConcurrentRequestHandling(), WOApplication.adaptorsDispatchRequestsConcurrently()

requestHandlingLock

public Object requestHandlingLock()
Returns an Object suitable for a synchronization lock or null if the application isn't multithreaded.

Returns:
an Object suitable for a synchronization lock or null

licensingAllowsMultipleInstances

@Deprecated
public static final boolean licensingAllowsMultipleInstances()
Deprecated. There is no license key

This static final method returns a boolean indicating whether the license allows multiple instances of the application to run simultaneously.

Returns:
true if multiple concurrent application instances are allowed, false otherwise

licensingAllowsMultipleThreads

@Deprecated
public static final boolean licensingAllowsMultipleThreads()
Deprecated. There is no license key

This static final method returns a boolean that indicates whether or not the application is allowed to run in multithreaded mode.

Returns:
true if the license allows multithreading, false otherwise

licensedRequestWindow

@Deprecated
public static final long licensedRequestWindow()
Deprecated. There is no license key

Returns the interval over which the licensedRequestLimit is calculated. You will not be able to exceed licensedRequestLimit requests per licensedRequestWindow milliseconds.

Returns:
a long (the license value in milliseconds)
See Also:
WOApplication.licensedRequestLimit()

licensedRequestLimit

@Deprecated
public static final int licensedRequestLimit()
Deprecated. There is no license key

Returns the maximum number of requests WebObjects will handle during the window returned by licensedRequestWindow. You will not be able to exceed licensedRequestLimit requests per licensedRequestWindow milliseconds.

Returns:
the request limit license value
See Also:
WOApplication.licensedRequestWindow()

setLoadFrameworks

@Deprecated
public void setLoadFrameworks(NSArray anArray)
Deprecated. Use the system property WOLoadFrameworks instead

Deprecated, do not use.

Parameters:
anArray - an NSArray of frameworks to be loaded

loadFrameworks

public NSArray loadFrameworks()
Return the NSArray of frameworks to be loaded during application initialization. This is a cover for the property WOLoadFrameworks. The value of the property should be a plist containing an array of strings.

Returns:
the NSArray of frameworks to be loaded during application initialization
See Also:
WOApplication.setLoadFrameworks(com.webobjects.foundation.NSArray)

setProjectSearchPath

public void setProjectSearchPath(NSArray aPathArray)
Sets the array of file system paths which are searched for projects for rapid turnaround mode.

Parameters:
aPathArray - an NSArray of file system paths
See Also:
WOApplication.projectSearchPath()

projectSearchPath

public NSArray projectSearchPath()
Returns an array of file system paths which are searched for projects for rapid turnaround mode. This is the cover method for the property NSProjectSearchPath. Note that NSProjectSearchPath is only used for ProjectBuilderWO projects, not the version of Project Builder for Mac OS X. Also note that the behavior changed for NSProjectSearchPath between WebObjects 4.5.1 and 5.0. Previous to WebObjects 5.0, WebObjects applications would search recursively down from any directories included in NSProjectSearchPath, looking for a PB.project file. As of WebObjects 5.0, WebObjects applications only search for a PB.project file directly within any directory identified in NSProjectSearchPath (no more subdirectory searches).

Returns:
an NSArray of file system paths
See Also:
WOApplication.setProjectSearchPath(com.webobjects.foundation.NSArray)

setAdditionalAdaptors

@Deprecated
public void setAdditionalAdaptors(NSArray anAdaptorArray)
Deprecated. Use the system property WOAdditionalAdaptors instead

Deprecated. Do not use.

Parameters:
anAdaptorArray -

additionalAdaptors

public NSArray additionalAdaptors()
Returns an array of adaptor description dictionaries. This is the cover method for the property WOAdditionalAdaptors

The value of the property should be a plist of dictionaries, each of which should contain a key-value pair whose key is WOAdaptor and whose value is a String containing the name of the adaptor class. Other attributes such as WOPort may also be specified, but are adaptor specific. For example, WOWorkerThreadCount is used by the WODefaultAdaptor class and may not be relevant for all adaptors.

Returns:
an NSArray of adaptor description dictionaries
See Also:
WOApplication.setAdditionalAdaptors(com.webobjects.foundation.NSArray)

getAdditionalAdaptors

public ArrayList getAdditionalAdaptors()
JMX Support

Specified by:
getAdditionalAdaptors in interface WOApplicationMBean
Since:
5.4
See Also:
WOApplication.additionalAdaptors(), WOApplicationMBean

isDebuggingEnabled

public boolean isDebuggingEnabled()
Do not use. Use NSLog instead.

Returns:
a boolean
See Also:
NSLog

setDirectConnectEnabled

@Deprecated
public void setDirectConnectEnabled(boolean aBool)
Deprecated. Use the system property WODirectConnectEnabled instead

Deprecated, do not use.

Parameters:
aBool -

isDirectConnectEnabled

public boolean isDirectConnectEnabled()
Returns whether or not direct connect is enabled. By default it is enabled. This is a cover for the system property WODirectConnectEnabled.

Direct Connect transforms the application instance into a simple web server. In particular, the instance is able to find and return its own images and resources as if it were a web server. This can be very useful in development mode, as developers can work without having to set up or maintain a web server.

To connect to an application instance using Direct Connect point the URL to the port where the instance is listening, and the instance will handle all urls.

If direct connect is enabled, the following happen:

On the other hand, if direct connect is not enabled, the resource request handler can be used to retrieve data objects from memory only, and no more reading in the file system is permitted. For security reasons, it is recommended that Direct Connect be disabled when an application is deployed.

Returns:
true if direct connect is enabled, false otherwise
See Also:
WOApplication.setDirectConnectEnabled(boolean), WOApplication.cgiAdaptorURL()

setCachingEnabled

public void setCachingEnabled(boolean aBool)
Sets whether or not component caching is enabled. If this is enabled, changes to a component will be reparsed after being saved, assuming the project is under the NSProjectSearchPath. Note that this has no effect on page caching.

Parameters:
aBool - boolean specifying whether or not component caching is enabled
See Also:
WOApplication.isCachingEnabled(), WOApplication.projectSearchPath()

isCachingEnabled

public boolean isCachingEnabled()
Returns whether or not component caching is enabled. If this is enabled, changes to a component will be reparsed after being saved, assuming the project is under the NSProjectSearchPath. Note that this has no effect on page caching. This is the cover method for the property WOCachingEnabled.

Returns:
true if component caching is enabled, false otherwise
See Also:
WOApplication.setCachingEnabled(boolean), WOApplication.projectSearchPath()

getIsCachingEnabled

public boolean getIsCachingEnabled()
JMX Support

Specified by:
getIsCachingEnabled in interface WOApplicationMBean
Since:
5.4

setMonitorEnabled

public void setMonitorEnabled(boolean aBool)
Sets the value of the WOMonitorEnabled property.

Parameters:
aBool - the new value of the WOMonitorEnabled property
See Also:
WOApplication.isMonitorEnabled()

isMonitorEnabled

public boolean isMonitorEnabled()
This is a cover method for the property WOMonitorEnabled. If the application was started by wotaskd, this method will return true, since wotaskd will set the WOMonitorEnabled property to true. However, if the application was started in any other way, this method is not garanteed to return false, only the value of the WOMonitorEnabled property.

Returns:
the value of the property WOMonitorEnabled.
See Also:
WOApplication.setMonitorEnabled(boolean)

getIsMonitorEnabled

public boolean getIsMonitorEnabled()
Specified by:
getIsMonitorEnabled in interface WOApplicationMBean

setIncludeCommentsInResponses

public void setIncludeCommentsInResponses(boolean aBool)
Sets whether or not HTML comments are appended to the response.

Parameters:
aBool - true if HTML comments are appended to the response, false otherwise
See Also:
WOApplication.includeCommentsInResponses()

includeCommentsInResponses

public boolean includeCommentsInResponses()
Returns whether or not HTML comments are appended to the response. This is the cover method for the property WOIncludeCommentsInResponses.

Returns:
a true if HTML comments are appended to the response, false otherwise
See Also:
WOApplication.setIncludeCommentsInResponses(boolean)

getIncludeCommentsInResponses

public boolean getIncludeCommentsInResponses()
JMX Support

Specified by:
getIncludeCommentsInResponses in interface WOApplicationMBean
Since:
5.4

setPort

@Deprecated
public void setPort(Number port)
Deprecated. Use the system property WOPort instead

Deprecated, do not use.

Parameters:
port -

port

public Number port()
Returns the port number on which the primary adaptor will listen This is the cover method for the property WOPort.

Returns:
the port number on which the primary adaptor will listen
See Also:
WOApplication.setPort(java.lang.Number)

getPort

public int getPort()
JMX Support

Specified by:
getPort in interface WOApplicationMBean
Since:
5.4
See Also:
WOApplication.port()

host

public String host()
Return the name of the host the instance is running on. This is a cover method for the property WOHost.

Returns:
the name of the host the instance is running on, or null

getHost

public String getHost()
JMX support

Specified by:
getHost in interface WOApplicationMBean
Since:
5.4
See Also:
WOApplication.host(), WOApplicationMBean

hostAddress

public InetAddress hostAddress()
Return the InetAddress for the host returned by host.

Returns:
an InetAddress for the host the instance is running on, or null

getHostAddress

public String getHostAddress()
JMX Support

Specified by:
getHostAddress in interface WOApplicationMBean
Since:
5.4
See Also:
WOApplication.hostAddress(), WOApplicationMBean

setWorkerThreadCount

@Deprecated
public void setWorkerThreadCount(Number threadCount)
Deprecated. setWorkerThreadCount no longer supported

This method no longer does anything.

Parameters:
threadCount - the number of worker threads

workerThreadCount

@Deprecated
public Number workerThreadCount()
Deprecated. workerThreadCount no longer supported

This method no longer does anything.

Returns:
the number of worker threads which will be created by WODefaultAdaptor
See Also:
WOApplication.workerThreadCountMin(), WOApplication.setWorkerThreadCountMin(java.lang.Number), WOApplication.workerThreadCountMax(), WOApplication.setWorkerThreadCountMax(java.lang.Number)

setWorkerThreadCountMin

public void setWorkerThreadCountMin(Number threadCount)
Sets the value of the property WOWorkerThreadCountMin. Generally, by the time this can be called, the WODefaultAdaptor has already been initialized. However, if you have custom or additional adaptors, this method might be useful.

Parameters:
threadCount - the number of worker threads to be created at startup
See Also:
WOApplication.workerThreadCountMax(), WOApplication.workerThreadCountMin(), WOApplication.setWorkerThreadCountMax(java.lang.Number)

workerThreadCountMin

public Number workerThreadCountMin()
Returns the number of worker threads the default adaptor will create at startup. This method is a cover for the property WOWorkerThreadCountMin. Generally, by the time this can be called, the WODefaultAdaptor has already been initialized. However, if you have custom or additional adaptors, this method might be useful.

Returns:
the number of worker threads to be created at startup
See Also:
WOApplication.workerThreadCountMax(), WOApplication.setWorkerThreadCountMax(java.lang.Number), WOApplication.setWorkerThreadCountMin(java.lang.Number)

getWorkerThreadCountMin

public int getWorkerThreadCountMin()
JMX Support

Specified by:
getWorkerThreadCountMin in interface WOApplicationMBean
Since:
5.4
See Also:
WOApplication.workerThreadCountMin()

setWorkerThreadCountMax

public void setWorkerThreadCountMax(Number threadCount)
Sets the value of the property WOWorkerThreadCountMax. Generally, by the time this can be called, the WODefaultAdaptor has already been initialized. However, if you have custom or additional adaptors, this method might be useful. If the WODefaultAdaptor is initialized when this property is <= 0, there is no upper limit to the number of worker threads it will create.

Parameters:
threadCount - the maximum number of worker threads the default adaptor can create
See Also:
WOApplication.workerThreadCountMax(), WOApplication.workerThreadCountMin(), WOApplication.setWorkerThreadCountMin(java.lang.Number)

workerThreadCountMax

public Number workerThreadCountMax()
Returns the number of worker threads the default adaptor will create startup. This method is a cover for the property WOWorkerThreadCountMax. Generally, by the time this can be called, the WODefaultAdaptor has already been initialized. However, if you have custom or additional adaptors, this method might be useful.

Returns:
the maximum number of worker threads the default adaptor can create
See Also:
WOApplication.workerThreadCountMin(), WOApplication.setWorkerThreadCountMax(java.lang.Number), WOApplication.setWorkerThreadCountMin(java.lang.Number)

getWorkerThreadCountMax

public int getWorkerThreadCountMax()
JMX Support

Specified by:
getWorkerThreadCountMax in interface WOApplicationMBean
Since:
5.4
See Also:
WOApplication.workerThreadCountMax()

setSocketCacheSize

@Deprecated
public void setSocketCacheSize(Number socketCacheSize)
Deprecated. setSocketCacheSize no longer supported

Deprecated, do not use.

Parameters:
socketCacheSize -

socketCacheSize

@Deprecated
public Number socketCacheSize()
Deprecated. socketCacheSize no longer supported

Deprecated, do not use.

Returns:
a Number

setSocketMonitorSleepTime

@Deprecated
public void setSocketMonitorSleepTime(Number socketMonitorSleepTime)
Deprecated. setSocketMonitorSleepTime no longer supported

Sets the length of time in milliseconds that the socket monitor will sleep in order to allow the worker threads to operate. If you don't invoke this method, the value of the WOSocketMonitorSleepTime key will be used; the default value for this key is 50 milliseconds.

Parameters:
socketMonitorSleepTime - the length of time that the socket monitor will sleep

socketMonitorSleepTime

@Deprecated
public Number socketMonitorSleepTime()
Deprecated. socketMonitorSleepTime no longer supported

Returns a Number indicating the length of time (in milliseconds) that the socket monitor will sleep in order to allow the worker threads to operate. The default is 50 milliseconds.

Returns:
a Number indicating the length of time the socket monitor will sleep
See Also:
WOApplication.setSocketMonitorSleepTime(java.lang.Number)

setMaxSocketIdleTime

@Deprecated
public void setMaxSocketIdleTime(Number maxSocketIdleTime)
Deprecated. Use the system property WOMaxSocketIdleTime instead

Deprecated, do not use.

Parameters:
maxSocketIdleTime -

maxSocketIdleTime

public Number maxSocketIdleTime()
Returns the maximum interval in milliseconds for which a socket should be allowed to wait on incoming data. This is a cover for the WOMaxSocketIdleTime property.

Returns:
a Number indicating the maximum amount of time a socket is allowed to idle
See Also:
WOApplication.setMaxSocketIdleTime(java.lang.Number)

getMaxSocketIdleTime

public int getMaxSocketIdleTime()
JMX Support

Specified by:
getMaxSocketIdleTime in interface WOApplicationMBean
Since:
5.4
See Also:
WOApplication.maxSocketIdleTime()

setListenQueueSize

@Deprecated
public void setListenQueueSize(Number listenQueueSize)
Deprecated. Use the system property WOListenQueueSize instead

Deprecated, do not use.

Parameters:
listenQueueSize -

listenQueueSize

public Number listenQueueSize()
Returns the size of the listen queue which will created by the primary adaptor, usually WODefaultAdaptor. This is the cover method for the property WOListenQueueSize.

Returns:
the size of the listen queue
See Also:
WOApplication.setListenQueueSize(java.lang.Number)

getListenQueueSize

public int getListenQueueSize()
JMX Support

Specified by:
getListenQueueSize in interface WOApplicationMBean
Since:
5.4
See Also:
WOApplication.listenQueueSize()

lifebeatEnabled

public boolean lifebeatEnabled()
Return whether or not the application is sending lifebeats.

Returns:
true if the application is sending lifebeats, false otherwise

monitorEnabled

@Deprecated
public boolean monitorEnabled()
Deprecated. monitorEnabled no longer supported

This is a deprecated cover method for isMonitorEnabled.

Returns:
true if the WOMonitorEnabled property is set, false otherwise
See Also:
WOApplication.isMonitorEnabled()

outputPath

public String outputPath()
Return the path to which logs will be written. This path may is controlled by the WOOutputPath property, and may be set to "/dev/null".

Returns:
the path to the application logs

getOutputPath

public String getOutputPath()
JMX Support

Specified by:
getOutputPath in interface WOApplicationMBean
Since:
5.4
See Also:
WOApplication.outputPath()

lifebeatDestinationPort

public int lifebeatDestinationPort()
Returns the port to which lifebeat signals will be sent. This port is controlled by the WOLifebeatDestinationPort property.

Returns:
an int indicating the port to which lifebeat signals will be sent

getLifebeatDestinationPort

public int getLifebeatDestinationPort()
JMX Support

Specified by:
getLifebeatDestinationPort in interface WOApplicationMBean
Since:
5.4

lifebeatInterval

public int lifebeatInterval()
Return the interval at which the application instance will send lifebeat signals to wotaskd. This is controled by the property WOLifebeatInterval.

Returns:
the interval between lifebeat signals

getLifebeatInterval

public int getLifebeatInterval()
JMX Support

Specified by:
getLifebeatInterval in interface WOApplicationMBean
Since:
5.4

setMonitorHost

@Deprecated
public void setMonitorHost(String aString)
Deprecated. setMonitorHost no longer supported

This method does nothing.

Parameters:
aString - is not used

monitorHost

@Deprecated
public String monitorHost()
Deprecated. monitorHost no longer supported

This method always returns "localhost".

Returns:
"localhost"

setRecordingPath

public void setRecordingPath(String aString)
Sets the file system path to where the recording information should be saved. Use 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, etc, 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. Afterwards 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.

Parameters:
aString - the file system path
See Also:
WOApplication.recordingPath()

recordingPath

public String recordingPath()
Returns a file system path which is where the recording information should be saved. By default, this method returns 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, etc, 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.

Returns:
a file system path which is where the recording information should be saved
See Also:
WOApplication.setRecordingPath(java.lang.String)

setAutoOpenInBrowser

public void setAutoOpenInBrowser(boolean aBool)
Controls whether starting up this application also launches a web browser. If aBool is 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/Library/WOAdaptors/Configuration/WebServerConfig.plist.

To disable web browser launching, you must invoke this method in your subclass's constructor, or set the WOAutoOpenInBrowser property to false. Must be called from the your WOApplication subclass' constructor to have effect.

Parameters:
aBool - true to cause automatic browser launch
See Also:
WOApplication.autoOpenInBrowser()

autoOpenInBrowser

public boolean autoOpenInBrowser()
Return whether starting the application instance will launch a browser pointing at the main page of the application. By default, automatic browser launching is enabled.

Returns:
true if automatic browser launching is enabled, false otherwise

setAutoOpenClientApplication

public void setAutoOpenClientApplication(boolean aBool)
Controls whether starting up an application instance also launches a Java Client client application. If aBool is true, the application launches the client. If it is false, the application does not launch the client. Automatic launching of a browser is disabled if client application launching is active and successful. Starting the client application requires the generation of a client launch script at build time. Client application launching cannot be enabled unless there is a WOAdaptorURL key in the file NeXT_ROOT/NextLibrary/WOAdaptors/Configuration/WebServerConfig.plist.

The value set here will override the property WOAutoOpenClientApplication To disable client application launching, you must invoke this method in your subclass's constructor, or set the WOAutoOpenClientApplication property to false. Must be called from the your WOApplication subclass' constructor to have effect.

Parameters:
aBool - true to cause automatic client application launch
See Also:
WOApplication.autoOpenClientApplication(), WOApplication.autoOpenInBrowser()

autoOpenClientApplication

public boolean autoOpenClientApplication()
Returns whether automatic client application launching is enabled for Java Client applications. By default, automatic browser launching is enabled. This method is a cover for the property WOAutoOpenClientApplication.

Returns:
true if a Java Client client application should be launched, false otherwise
See Also:
WOApplication.setAutoOpenClientApplication(boolean), WOApplication.autoOpenInBrowser()

getAutoOpenClientApplication

public boolean getAutoOpenClientApplication()
JMX Support

Since:
5.4
See Also:
WOApplication.autoOpenClientApplication(), WOApplicationMBean

setSMTPHost

public void setSMTPHost(String aString)
Sets the name of the host that will be used to send e-mail messages created by WOMailDelivery.

Parameters:
aString - the name of the SMTP host
See Also:
WOApplication.SMTPHost()

SMTPHost

public String SMTPHost()
Returns the name of the host that will be used to send e-mail messages created by WOMailDelivery. This is a cover method for the property WOSMTPHost.

Returns:
the name of the host that will be used to send e-mail messages from the application using WOMailDelivery
See Also:
WOApplication.setSMTPHost(java.lang.String)

setAdaptor

@Deprecated
public void setAdaptor(String aString)
Deprecated. Use the system property WOAdaptor instead

Deprecated. Do not use.

Parameters:
aString -

adaptor

public String adaptor()
Returns the class name of the primary adaptor. This is the cover method for the property WOAdaptor.

Returns:
the class name of the primary adaptor
See Also:
WOApplication.setAdaptor(java.lang.String)

setComponentRequestHandlerKey

@Deprecated
public void setComponentRequestHandlerKey(String aString)
Deprecated. Use the system property _ComponentRequestHandlerKey instead

Deprecated, do not use.

Parameters:
aString -

componentRequestHandlerKey

public String componentRequestHandlerKey()
Returns the key which identifies URLs directed at component-action based requests. By default, this method returns the string "wo". This is a cover for the system property _ComponentRequestHandlerKey.

Returns:
the key which identifies URLs directed through the component request handler
See Also:
WOApplication.appendToResponse(com.webobjects.appserver.WOResponse, com.webobjects.appserver.WOContext), WOApplication.setComponentRequestHandlerKey(java.lang.String), WOApplication.directActionRequestHandlerKey(), WOApplication.setDirectActionRequestHandlerKey(java.lang.String), WOApplication.resourceRequestHandlerKey(), WOApplication.setResourceRequestHandlerKey(java.lang.String), WOApplication.webServiceRequestHandlerKey(), WOApplication.setWebServiceRequestHandlerKey(java.lang.String)

getComponentRequestHandlerKey

public String getComponentRequestHandlerKey()
JMX Support

Since:
5.4
See Also:
WOApplication.componentRequestHandlerKey(), WOApplicationMBean

setDirectActionRequestHandlerKey

@Deprecated
public void setDirectActionRequestHandlerKey(String aString)
Deprecated. Use the system property _DirectActionRequestHandlerKey instead

Deprecated, do not use.

Parameters:
aString -

directActionRequestHandlerKey

public String directActionRequestHandlerKey()
Returns the key which identifies URLs directed at Direct Action based requests. By default, this method returns the string "wa". This is a cover for the system property _DirectActionRequestHandlerKey.

Returns:
the key which identifies URLs directed through the Direct Action request handler
See Also:
WOApplication.appendToResponse(com.webobjects.appserver.WOResponse, com.webobjects.appserver.WOContext), WOApplication.componentRequestHandlerKey(), WOApplication.setComponentRequestHandlerKey(java.lang.String), WOApplication.setDirectActionRequestHandlerKey(java.lang.String), WOApplication.resourceRequestHandlerKey(), WOApplication.setResourceRequestHandlerKey(java.lang.String), WOApplication.webServiceRequestHandlerKey(), WOApplication.setWebServiceRequestHandlerKey(java.lang.String)

streamActionRequestHandlerKey

public String streamActionRequestHandlerKey()
Returns the key which identifies URLs directed at Stream based requests. By default, this method returns the string "wis".

Returns:
the key which identifies URLs directed through the Stream request handler
See Also:
WOApplication.appendToResponse(com.webobjects.appserver.WOResponse, com.webobjects.appserver.WOContext), WOApplication.componentRequestHandlerKey(), WOApplication.setComponentRequestHandlerKey(java.lang.String), WOApplication.setDirectActionRequestHandlerKey(java.lang.String), WOApplication.resourceRequestHandlerKey(), WOApplication.setResourceRequestHandlerKey(java.lang.String), WOApplication.webServiceRequestHandlerKey(), WOApplication.setWebServiceRequestHandlerKey(java.lang.String)

setResourceRequestHandlerKey

@Deprecated
public void setResourceRequestHandlerKey(String aString)
Deprecated. Use the system property _ResourceRequestHandlerKey instead

Deprecated, do not use.

Parameters:
aString -

resourceRequestHandlerKey

public String resourceRequestHandlerKey()
Resource requests are only used during development of an application or when the application is being run without an HTTP server. This is a cover for the system property _ResourceRequestHandlerKey.

Returns:
the key which identifies URLs directed through the resource request handler
See Also:
WOApplication.appendToResponse(com.webobjects.appserver.WOResponse, com.webobjects.appserver.WOContext), WOApplication.componentRequestHandlerKey(), WOApplication.setComponentRequestHandlerKey(java.lang.String), WOApplication.directActionRequestHandlerKey(), WOApplication.setDirectActionRequestHandlerKey(java.lang.String), WOApplication.setResourceRequestHandlerKey(java.lang.String), WOApplication.webServiceRequestHandlerKey(), WOApplication.setWebServiceRequestHandlerKey(java.lang.String)

setWebServiceRequestHandlerKey

@Deprecated
public void setWebServiceRequestHandlerKey(String aString)
Deprecated. Use the system property _WebServiceRequestHandlerKey instead

Deprecated, do not use.

Parameters:
aString -

webServiceRequestHandlerKey

public String webServiceRequestHandlerKey()
Returns the key which identifies URLs directed at Web services. By default, this method returns the string "ws". This is a cover for the system property _WebServiceRequestHandlerKey.

Returns:
the key which identifies URLs directed through the Web Service request handler
See Also:
WOApplication.appendToResponse(com.webobjects.appserver.WOResponse, com.webobjects.appserver.WOContext), WOApplication.componentRequestHandlerKey(), WOApplication.setComponentRequestHandlerKey(java.lang.String), WOApplication.setDirectActionRequestHandlerKey(java.lang.String), WOApplication.resourceRequestHandlerKey(), WOApplication.setResourceRequestHandlerKey(java.lang.String), WOApplication.setWebServiceRequestHandlerKey(java.lang.String)

ajaxRequestHandlerKey

public String ajaxRequestHandlerKey()
Returns the key which identifies URLs directed at the Ajax Handler for XMLHTTPRequests. By default, this method returns the string "ja". This is a cover for the system property _AjaxRequestHandlerKey.

Returns:
the key which identifies URLs directed through the Ajax request handler
Since:
5.4
See Also:
WOApplication.appendToResponse(com.webobjects.appserver.WOResponse, com.webobjects.appserver.WOContext), WOApplication.componentRequestHandlerKey(), WOApplication.directActionRequestHandlerKey(), WOApplication.resourceRequestHandlerKey(), WOApplication.webServiceRequestHandlerKey(), WOApplication.ajaxRequestHandlerKey()

setSessionStoreClassName

public void setSessionStoreClassName(String aString)
Sets the name of the session store class to the specified name. The value specified to this method takes precedence over the WOSessionStoreClassName property.

Parameters:
aString - the name of the session store class

sessionStoreClassName

public String sessionStoreClassName()
Return the name of the class that will be used to store sessions. This method is a cover for the WOSessionStoreClassName property and has a default value of "WOServerSessionStore".

Returns:
the value of the WOSessionStoreClassName property

newDynamicURL

public WODynamicURL newDynamicURL()
Create a new dynamic URL for the WORequest.

Returns:
Dynamic url

newDynamicURL

public WODynamicURL newDynamicURL(String url)
Create a new dynamic URL for the WORequest.

Parameters:
url - String to parse
Returns:
Dynamic url
Throws:
WOURLFormatException

setFrameworksBaseURL

public void setFrameworksBaseURL(String aString)
Sets aString as the path under which all frameworks can be found inside the document root. This value is used to determine URLs that should be generated to reference Web Server Resources in those frameworks.

Parameters:
aString - sets this to the path under which all frameworks can be found under inside the document root
See Also:
WOApplication.frameworksBaseURL()

frameworksBaseURL

public String frameworksBaseURL()
This value is used to determine URLs that should be generated to reference Web Server Resources in those frameworks. This is the cover method for the property WOFrameworksBaseURL.

Returns:
a path to where all frameworks may be found under the doc root
See Also:
WOApplication.setFrameworksBaseURL(java.lang.String)

setCGIAdaptorURL

public void setCGIAdaptorURL(String aString)
Sets the URL through the web server to aString. The URL must include the path to the WebObjects CGI adaptor: for example, http://localhost/cgi-bin/WebObjects.

This URL is used by the direct connect feature only.

Parameters:
aString - the URL for the web server
See Also:
WOApplication.cgiAdaptorURL()

cgiAdaptorURL

public String cgiAdaptorURL()
Returns the URL for the web server including the path to the WebObjects CGI adaptor: for example, http://localhost/cgi-bin/WebObjects. This URL is used by the direct connect feature only. This is the cover for the property WOCGIAdaptorURL.

Returns:
the URL for the web server
See Also:
WOApplication.setCGIAdaptorURL(java.lang.String)

getCGIAdaptorURL

public String getCGIAdaptorURL()
JMX Support

Specified by:
getCGIAdaptorURL in interface WOApplicationMBean
Since:
5.4
See Also:
WOApplication.cgiAdaptorURL(), WOApplicationMBean

setApplicationBaseURL

public void setApplicationBaseURL(String aString)
Sets to aString the path to which the current application may be found under the document root, with or without the .woa.

Parameters:
aString - the path to which the current application may be found
See Also:
WOApplication.applicationBaseURL()

applicationBaseURL

public String applicationBaseURL()
This is the cover method for the property WOApplicationBaseURL. This method will return the path to where the application may be found under the document root, not including the application name.

Will return "/WebObjects" if the application is started without explicitly specifying the WOApplicationBaseURL property (unless the application itself invokes setApplicationBaseURL).

Returns:
the path to where the current application may be found under the document root
See Also:
WOApplication.setApplicationBaseURL(java.lang.String)

getApplicationBaseURL

public String getApplicationBaseURL()
JMX support

Specified by:
getApplicationBaseURL in interface WOApplicationMBean
See Also:
WOApplication.applicationBaseURL(), WOApplicationMBean

adaptorExtensions

public String[] adaptorExtensions()
Since:
5.4

applicationExtension

public String applicationExtension()
Returns:
application extension, default is .woa
Since:
5.4

getApplicationExtension

public String getApplicationExtension()
JMX support

Returns:
default is .woa
Since:
5.4

adaptorName

public String adaptorName()
Returns:
name of the adaptor
Since:
5.4

adaptorPath

public String adaptorPath()
Returns:
adaptor path
Since:
5.4

documentRoot

public String documentRoot()
Returns the document root for static resources.

Returns:
document root.
Since:
5.4

setAllowsConcurrentRequestHandling

public void setAllowsConcurrentRequestHandling(boolean aValue)
Explicitly specifiy whether concurrent request handling is allowed.

Parameters:
aValue - true indicates that concurrent request handling is allowed
See Also:
WOApplication.allowsConcurrentRequestHandling()

allowsConcurrentRequestHandling

public boolean allowsConcurrentRequestHandling()
Return whether or not concurrent request handling is allowed. This is a cover method for the property WOAllowsConcurrentRequestHandling and will return false by default.

Returns:
true if concurrent request handling is allowed, false otherwise
See Also:
WOApplication.isConcurrentRequestHandlingEnabled(), WOApplication.setAllowsConcurrentRequestHandling(boolean)

getAllowsConcurrentRequestHandling

public boolean getAllowsConcurrentRequestHandling()
JMX Support

Specified by:
getAllowsConcurrentRequestHandling in interface WOApplicationMBean
Since:
5.4
See Also:
WOApplication.allowsConcurrentRequestHandling(), WOApplicationMBean

setSessionTimeOut

public void setSessionTimeOut(Number timeOut)
Set the interval, in seconds, during which a session may be idle before it times out. The default is 3600.

Parameters:
timeOut - the default session timeOut in seconds
See Also:
WOApplication.sessionTimeOut()

setDefaultUndoStackLimit

public void setDefaultUndoStackLimit(int stackLimit)
Set the limit size for the undo stack for a session's default editing context. The default is 10.

Parameters:
stackLimit - the default undo stack limit for the editing context
See Also:
WOApplication.defaultUndoStackLimit()

sessionTimeOut

public Number sessionTimeOut()
Return the number of seconds for which a session may be idle before it times out. The default is 3600. This value can be overriden by:

Returns:
the number (of seconds) which will be used as the default timeout for each newly created session
See Also:
WOApplication.setSessionTimeOut(java.lang.Number)

getSessionTimeOut

public int getSessionTimeOut()
JMX Support

Specified by:
getSessionTimeOut in interface WOApplicationMBean
Since:
5.4
See Also:
WOApplication.sessionTimeOut()

defaultUndoStackLimit

public Number defaultUndoStackLimit()
Return the number of levels of undo for a session's default editing context. The default is 10. This value can be overriden by:

Returns:
the number of undo levels for the session's default editing context
See Also:
WOApplication.setDefaultUndoStackLimit(int)

getDefaultUndoStackLimit

public int getDefaultUndoStackLimit()
JMX Support

Specified by:
getDefaultUndoStackLimit in interface WOApplicationMBean
Returns:
int value
Since:
5.4
See Also:
WOApplication.defaultUndoStackLimit(), WOApplicationMBean

createDefaultAssociationFactoryRegistry

protected WOAssociationFactoryRegistry createDefaultAssociationFactoryRegistry()
Creates the default application association factory registry. This will The registry will be configured to include the built-in association factories for constants, KVC expressions and componen temporary variables.

Returns:
Default WOAssociationFactoryRegistry

associationFactory

public final WOAssociationFactory associationFactory()
Return the WOAssociationFactory for the application. This will always return the associationFactoryRegistry, which is the application's implementation of the WOAssociationFactory for use in declaration parsing. Users of the application's association factory should call this method; the registry should be used only by code that modifies the registry.

Returns:
WOAssociationFactory
Since:
5.4
See Also:
WOAssociationFactory

associationFactoryRegistry

public WOAssociationFactoryRegistry associationFactoryRegistry()
Return the WOAssociationFactoryRegistry for the application. If the registry is not set this will call createDefaultAssociationFactoryRegistry() to create and initialize the default registry for the application. Code that configures the registry should use this method; code that only uses it to call the declaration parser should use associationFactory().

Returns:
WOAssociationFactoryRegistry
Since:
5.4
See Also:
WOAssociationFactoryRegistry

createDefaultNamespaceProvider

protected WOMLDefaultNamespaceProvider createDefaultNamespaceProvider()
Creates the default namespace provider, which provides the "wo" and "woq" namespaces to WOML templates. This method is called only once during application initialization and is the appropriate place to put application-wide WOML namespaces.

Returns:
Default WOMLNamespaceProvider for the application.
Since:
5.4
See Also:
WOMLDefaultNamespaceProvider

namespaceProvider

public WOMLNamespaceProvider namespaceProvider()
Returns:
WOMLNamespaceProvider
Since:
5.4

setNamespaceProvider

public void setNamespaceProvider(WOMLNamespaceProvider value)
Set the WOMLNamespaceProvider

Since:
5.4
See Also:
WOMLNamespaceProvider

canAccessFieldsDirectly

public static boolean canAccessFieldsDirectly()
WOApplication's implementation of this static method returns true, indicating that key-value coding is allowed to access fields in this object if an appropriate method isn't present.

Returns:
true always

valueForKey

public Object valueForKey(String key)
Conformance to NSKeyValueCoding. Returns the value of the property identified by key.

Specified by:
valueForKey in interface NSKeyValueCoding
Parameters:
key - String identifying the property to be retrieved
Returns:
the receiver's value for the property identified by key
See Also:
WOApplication.takeValueForKey(java.lang.Object, java.lang.String), WOApplication.handleQueryWithUnboundKey(java.lang.String), NSKeyValueCoding

takeValueForKey

public void takeValueForKey(Object value,
                            String key)
Conformance to NSKeyValueCoding. Sets the value of the property identified by key to value.

Specified by:
takeValueForKey in interface NSKeyValueCoding
Parameters:
key - String identifying the property to be set
value - the value to which the property specified by key should be set
See Also:
WOApplication.valueForKey(java.lang.String), WOApplication.handleTakeValueForUnboundKey(java.lang.Object, java.lang.String), NSKeyValueCoding

handleQueryWithUnboundKey

public Object handleQueryWithUnboundKey(String key)
Conformance to NSKeyValueCoding.ErrorHandling. This method is invoked from valueForKey when there is no property binding for key. WOApplication's implementation always throws NSKeyValueCoding.UnknownKeyException.

Specified by:
handleQueryWithUnboundKey in interface NSKeyValueCoding.ErrorHandling
Parameters:
key - String identifying the property to be retrieved
Returns:
the receiver's value for the property identified by key
See Also:
WOApplication.valueForKey(java.lang.String), NSKeyValueCoding

handleTakeValueForUnboundKey

public void handleTakeValueForUnboundKey(Object value,
                                         String key)
Conformance to NSKeyValueCoding.ErrorHandling. This method is invoked from takeValueForKey when there is no property binding for key. WOApplication's implementation always throws NSKeyValueCoding.UnknownKeyException.

Specified by:
handleTakeValueForUnboundKey in interface NSKeyValueCoding.ErrorHandling
Parameters:
key - String identifying the property to be set
value - the value to which the property specified by key should be set
See Also:
WOApplication.takeValueForKey(java.lang.Object, java.lang.String), NSKeyValueCoding

unableToSetNullForKey

public void unableToSetNullForKey(String key)
Conformance to NSKeyValueCoding.ErrorHandling. This method is invoked from takeValueForKey when it is given a null value for a scalar property such as an int or a float. WOApplication's implementation always throws an java.lang.IllegalArgumentException.

Specified by:
unableToSetNullForKey in interface NSKeyValueCoding.ErrorHandling
Parameters:
key - String identifying the property to be set
See Also:
WOApplication.takeValueForKey(java.lang.Object, java.lang.String), NSKeyValueCoding

valueForKeyPath

public Object valueForKeyPath(String keyPath)
Conformance to NSKeyValueCodingAdditions. Returns the receiver's value for the derived property identified by keyPath. The key path has the form relationship.property, with one or more relationships. This method retrieves the destination object for each relationship using valueForKey, and returns the result of invoking valueForKey on the final object.

Specified by:
valueForKeyPath in interface NSKeyValueCodingAdditions
Parameters:
keyPath - String identifying the derived property to be retrieved
Returns:
receiver's value for the derived property identified by keyPath
See Also:
WOApplication.valueForKey(java.lang.String), WOApplication.takeValueForKeyPath(java.lang.Object, java.lang.String), NSKeyValueCoding, NSKeyValueCodingAdditions

takeValueForKeyPath

public void takeValueForKeyPath(Object value,
                                String keyPath)
Conformance to NSKeyValueCodingAdditions. Sets the property identified by keyPath to value. The key path has the form relationship.property, with one or more relationships. This method retrieves the destination object for each relationship using valueForKey, and invokes the method takeValueForKey on the final object.

Specified by:
takeValueForKeyPath in interface NSKeyValueCodingAdditions
Parameters:
keyPath - identifies a derived property of the receiver
value - value to which the derived property identified by keyPath will be set
See Also:
WOApplication.takeValueForKey(java.lang.Object, java.lang.String), WOApplication.valueForKeyPath(java.lang.String), NSKeyValueCoding, NSKeyValueCodingAdditions

validationFailedWithException

public void validationFailedWithException(Throwable t,
                                          Object value,
                                          String keyPath,
                                          WOComponent component,
                                          WOSession session)
Appends a validation failed message to NSLog.err. If debugging is enabled, also logs more detailed information on NSLog.debug.

Parameters:
t - the exception that was thrown
value - the value that was being set
keyPath - the derived path that was being accessed
component - the component that was being used
session - the session in which validation failed
See Also:
NSLog

lock

@Deprecated
public void lock()
Deprecated. synchronized(WOApplication.application()) should be used instead.


unlock

@Deprecated
public void unlock()
Deprecated. synchronized(WOApplication.application()) should be used instead.


responseForComponentWithName

public WOResponse responseForComponentWithName(String name,
                                               Map bindings,
                                               Map headers,
                                               Map userInfo,
                                               String uriPrefix,
                                               String appName)
Returns a WOResponse for the WOComponent named name, using bindings. URLs in the component will be generated using uriPrefix as a base URI and the appName as the application name. Both these arguments are optional. headers is a dictionary containing headers to be passed into the created WORequest. userInfo is used for any additional info passed into the created WORequest. If no values are supplied, uriPrefix defaults to cgiAdaptorURL or if that is not set, /cgi-bin/WebObjects, and appName defaults to name.

Parameters:
name - the name of the component to use
bindings - the bindings for the component
headers - the headers passed to the created WORequest
userInfo - the userInfo dictionary passed to the created WORequest
uriPrefix - the uri for the generated WORequest
appName - the application name for the generated WORequest
See Also:
WOResponse

responseForDirectActionWithNameAndClass

public WOResponse responseForDirectActionWithNameAndClass(String actionName,
                                                          String className,
                                                          Map formValueDict,
                                                          InputStream contentStream,
                                                          Map headers,
                                                          Map userInfo,
                                                          String uriPrefix,
                                                          String appName)
Returns a WOResponse for the Direct Action actionName in the class named className (optional). The formValueDict is a dictionary of form values which are formed into a queryString. contentStream is an InputStream containing the content of the generated request. URLs will be generated using uriPrefix as a base URI and the appName as the application name; if uriPrefix is null it will default first to cgiAdaptorURL, and if that is null to /cgi-bin/WebObjects, if appName is null it will default to name. headers is a dictionary containing headers to be passed into the created WORequest. userInfo is used for any additional info to be passed into the created WORequest.

Parameters:
actionName - the name of the Direct Action to invoke
className - the class that the Direct Action is in
formValueDict - the form values for the created WORequest or null
contentStream - the content of the created WORequest or null
headers - the headers passed to the created WORequest
userInfo - the userInfo dictionary passed to the created WORequest
uriPrefix - the uri for the generated WORequest
appName - the application name for the generated WORequest
See Also:
WORequest

getAgentID

public String getAgentID()
Return the agentid for app instance where agentid=[your_unique_id_for_your_instance] Used for sticky session support.

Returns:
agentid for app instance
Since:
5.4

sessionIdKey

public String sessionIdKey()
Return the string key used to obtain the session ID from a request using methods like formValueForKey(String) and cookieValueForKey(String).

Since:
5.4

instanceIdKey

public String instanceIdKey()
String key used to obtain the application instance number from a request using methods like formValueForKey(String) and cookieValueForKey(String).

Since:
5.4

getMBeanServer

public MBeanServer getMBeanServer()
                           throws IllegalAccessException
Return an instance of the MBeanserver. Related to JMX support.

Returns:
an instance of the MBeanserver
Throws:
IllegalAccessException
Since:
5.4

getJMXDomain

public String getJMXDomain()
The default JMX domain is composed of the host + app name + port number. For example: ipod.apple.com.MyApplication.2001 where host = ipod.apple.com app name = MyApplication port = 2001

Specified by:
getJMXDomain in interface WOApplicationMBean
Returns:
the current domain
Since:
5.4

setJMXDomain

public void setJMXDomain(String aName)
Set the JMX domain.

Parameters:
aName - - name of the JMX domain
Since:
5.4

registerMBean

public void registerMBean(Object aMBean,
                          ObjectName aName)
Convenience to register an MBean with the MBean server.

Parameters:
aMBean - - the MBean to be registered as an MBean.
aName - - The object name of the MBean. May be null.
Since:
5.4

registerMBean

public void registerMBean(Object aMBean,
                          String aDomainName,
                          String aMBeanName)
                   throws IllegalArgumentException
Convenience to register an MBean with the MBean server. The domain ObjectName is composed of aDomainName+aMBeanName. e.g ipod.apple.com.MyApplication:2001 : name=aMBeanName

Parameters:
aMBean - - The MBean to be registered as an MBean.
aDomainName - - domain name
aMBeanName - - The string object name of the MBean.
Throws:
IllegalArgumentException

unregisterMBean

public void unregisterMBean(ObjectName aName)
Unregister a MBean given its ObjectName, a convenience method.

Parameters:
aName - - ObjectName to be unregistered
Since:
5.4

launchArguments

public String[] launchArguments()
Returns a String array of launch arguments.

Returns:
String array of launch argument

Last updated June 2008

Copyright © 2000-2008 Apple Inc.