com.plumtree.uiinfrastructure.interpreter.filter
Interface IInterpreterFilter

All Known Implementing Classes:
BaseInterpreterFilter, CSPLoginTokenAuthenticatorFilter, EnsembleHandlerFilter, ExpressionEngineFilter, GatewayFilter, GatewayFriendlyURLFilter, HealthFilter, HttpCompressionFilter, PTExpressionEngineFilter, RequestDataFilter, RequestLockFilter, RequestQueueFilter, SecurityModeFilter

public interface IInterpreterFilter

IInterpreterFilter defines a pluggable filter interface to the Interpreter for pre-processing and post-processing of request data.

Interpreter filters will be dynamically discovered during start up. The configuration file for this is the InterpreterFilters.xml in the PORTAL_HOME/settings/config/dynamicloads/ directory.

Please note that if there are multiple filters listed in the InterpreterFilters.xml, the PreFilter method of these filters will be invoked in the same order as they are listed, while the PostFilter method of these filters will be invoked in the reverse order.
This is to allow proper nesting behavior between filters, with the last filter on the list being the "inner-most" filter in the filter nesting/chaining. For example, if we have filter1, filter2 and filter3 listed in that order, the order of execution for the pre-filtering will be the PreFilter method of filter1, followed by that of filter2, and by that of filter3, while for the post-filtering the order will be PostFilter method of filter3 first, followed by that of filter2, and finally by that of filter1.

Author:
WilliamA

Method Summary
 void PostFilter(RequestData requestData)
          This method can be used to perform any necessary post-filtering/processing of the request after the Interpreter processes the request.
 boolean PreFilter(RequestData requestData)
          This method can be used to perform any necessary pre-filtering/processing of the request before the Interpreter processes the request.
 

Method Detail

PreFilter

boolean PreFilter(RequestData requestData)
This method can be used to perform any necessary pre-filtering/processing of the request before the Interpreter processes the request. The interpreter will call PreFilter before it starts processing of an incoming request. The filter may decide to filter out this request (i.e., the Interpreter shall not process this request further), in which case this method shall return a boolean true. PreFilter may also be used in conjunction with PostFilter, in which PreFilter may set some states which can then be cleared inside the PostFilter. This method may throw an InterpreterException (com.plumtree.uiinfrastructure.interpreter.InterpreterException) when an error occurs and a basic error page containing the error message conveyed in the InterpreterException will be displayed to the user.

Parameters:
requestData - The request to be processed.
Returns:
a boolean indicating whether the request should be filtered out. A boolean true indicates that the filter has performed the necessary processing for the request and the Interpreter shall not do any further processing of it.

PostFilter

void PostFilter(RequestData requestData)
This method can be used to perform any necessary post-filtering/processing of the request after the Interpreter processes the request. The interpreter will call this filter after it finishes processing of the request, but before it sends out the output data to the client browser. PostFilter may modify the processing result (output) if needed by accessing the WebData object (m_wdPageData) in the requestData. Post Filter can be used in conjunction with a PreFilter, to perform the necessary post processing for the request (e.g., clearing any states set by its corresponding PreFilter).

Parameters:
requestData - The request.



Copyright © 2002,2003,2004,2005 Plumtree Software, Inc., All Rights Reserved.