Namespace: OpenEdge.Web
Type: Class InternalWebRouter
Parent Classes:
Progress.Web.AbstractWebRouter

Inherits: Progress.Web.AbstractWebRouter
Implements: OpenEdge.Logging.ISupportLogging, OpenEdge.Core.ISupportInitialize


Copyright (c) 2015-2018,2020,2022 by Progress Software Corporation. All rights reserved.
Purpose:Keep a list of customer specified handlers and invoke
Author(s):mbanks
Created:Mon Apr 27 14:42:44 EDT 2015
Notes:This is managed as a singleton by the ABL
@since:11.6
/* A reference to the Logger in use by an implementer



Method Summary
  Options Name Purpose
  Clear () /* Clears (empties) the entire handler cache. */
  Destroy () /* Destroy/Shutdown/Anti-Initializer */
  INTEGER HandleRequest (character) /* Handles a web request. A customer can specify a different handler for each application. If this is the first request for this handler or the cached handler is invalid, an instance of it is created. The HandleRequest() method is then invoked in the handler instance. @param pcHandlerName the name of the customer registered webspeed handler */
  Initialize () /* Initializer/Startup */
  Progress.Web.IWebHandler InvokeHandler (character) /* Invokes/instantiates a webhandler. 1) Try to get from a CCS Service Manager. If a handler is returned, use this value as-is, without caching. We ask for getService(IWebHandler, <web-handler-name>). 2) If not in debug mode, look in the cache for a webhandler. If it's valid, use it. 3) Instantiate a webhandler. 4) If not in debug mode, cache it. @param character The webhandler name @return IWebHandler A usable webhandler instance */
  LOGICAL Release (character) /* Releases the specified handler from the cache. This lets it be cleaned up/GC'ed. @param character The handler to release. @return true if the instance was found and released. otherwise false. */

Constructor Summary
  Options Name Purpose
  InternalWebRouter () /* Default constructor */

Property Summary
  Options Name Purpose
  LOGICAL DebugEnabled
  OpenEdge.Core.Collections.IStringKeyedMap Handlers
  OpenEdge.Logging.ILogWriter Logger


Method Detail
Top

Clear ()

/* Clears (empties) the entire handler cache.
Top

Destroy ()

/* Destroy/Shutdown/Anti-Initializer
Top

INTEGER HandleRequest (character)

/* Handles a web request. A customer can specify a different handler for
each application. If this is the first request for this handler or the
cached handler is invalid, an instance of it is created.
The HandleRequest() method is then invoked in the handler instance.
Parameters:
pcHandlerName CHARACTER
  the name of the customer registered webspeed handler */
Returns INTEGER
 
Top

Initialize ()

/* Initializer/Startup
Top

Progress.Web.IWebHandler InvokeHandler (character)

/* Invokes/instantiates a webhandler.
1) Try to get from a CCS Service Manager. If a handler is returned, use this value as-is, without
caching. We ask for getService(IWebHandler, <web-handler-name>).
2) If not in debug mode, look in the cache for a webhandler. If it's valid, use it.
3) Instantiate a webhandler.
4) If not in debug mode, cache it.
Parameters:
pHandlerName CHARACTER
 
Returns Progress.Web.IWebHandler
  IWebHandler A usable webhandler instance
Top

LOGICAL Release (character)

/* Releases the specified handler from the cache. This lets it be cleaned up/GC'ed.
Parameters:
pchandlerName CHARACTER
 
Returns LOGICAL
  true if the instance was found and released. otherwise false.


Constructor Detail
Top

InternalWebRouter ()

/* Default constructor


Property Detail
Top

LOGICAL DebugEnabled

Returns LOGICAL
 
Top

OpenEdge.Core.Collections.IStringKeyedMap Handlers

Returns OpenEdge.Core.Collections.IStringKeyedMap
 
Top

OpenEdge.Logging.ILogWriter Logger

Returns OpenEdge.Logging.ILogWriter