Uiinfrastructure API Docs  
 

IInterpreterFilter Interface

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.

For a list of all members of this type, see IInterpreterFilter Members.

public interface IInterpreterFilter

Types that implement IInterpreterFilter

TypeDescription
BaseInterpreterFilter This is a pass-through filter; both the PreFilter and PostFilter methods have the default implementation that returns a boolean false. This is a utility class to make it easier to implement only one of the filter methods (either the PreFilter or the PostFilter) without implementing the other (which by default will be a pass through).
ExpressionEngineFilter This filter will load up the environment data for the expression engine and run the expression engine. It will figure out the right subportal to use for this request. The actual implementation of the expression engine filter is in the portaluiinfrastructure layer (i.e., class portaluiinfrastructure.condition.interpreterfilter.ExpressionEngineFilter). This class is created to avoid mixing of dependency between uiinfrastructure and portaluiinfrastructure layers. The Expression Engine component is part of portaluiinfrastructure layer, while interpreter filter is part of uiinfrastructure layer. Hence, static initializer is used in this class to init the actual implementation that calls and runs the expression engine.
GatewayFilter A filter to handle gateway request.
HealthFilter A filter to handle ping requests. Clients can call this URL to find out if the Portal thinks it is healthy.
HttpCompressionFilter 
RequestDataFilter A filter to init and clean-up temporary data in the activity space and cache. Currently, we don't do any init, only clean up, so only the PostFilter method is implemented here. Note that this filter should listed after the RequestQueueFilter in the InterpreterFilters.xml (since the clean up must be done while the session is still locked).
RequestLockFilter A filter to perform a lock on the session. The lock will be released in the PostFilter method.
RequestQueueFilter A filter to check if there are too many requests queued up on this session already. If it is, the PreFilter method will thrown an InterpreterException with message: The server is busy processing your previous request. Otherwise, the PreFilter method will put this request into the request queue.
SecurityModeFilter A filter to check the security of the incoming request whether it conforms to the security mode setting, in particular the security mode 2. Security mode 1 check will be performed by the MVC controller.

Requirements

Namespace: com.plumtree.uiinfrastructure.interpreter.filter

Assembly: uiinfrastructure (in uiinfrastructure.dll)

See Also

IInterpreterFilter Members | com.plumtree.uiinfrastructure.interpreter.filter Namespace