com.ibm.portal.state
Interface PreProcessor


public interface PreProcessor

Performs validation on the state holder. Pre processors are called a state decoding time after the state has been decoded from the URL, the session or the persistent store. They allow to apply validations or resolve inconsistencies in the navigational state with respect to session or persistent state. The state that becomes valid for the request is the state after applying modifications by the pre processor. Preprocessors will not be invoked concurrently by the framework. Typically the framework will use different pre processor instances per thread, but different framework implementations could also use synchronization to guarantee this contract. The same java instance of preprocessors can however be used by different threads sequentially. Implementations of preprocessors should precalculate all thread independent information, such as the result of JNDI lookups, in the constructor and store this data in instance variables.

Since:
6.1.0

Field Summary
static java.lang.String EXTENSION_POINT_ID
          ID of the extension point for preprocessors that are loaded dynamically via the extension registry
 
Method Summary
 void process(HttpServletRequest request, HttpServletResponse response, StateHolderController state)
          Performs validation operations on the state holder.
 

Field Detail

EXTENSION_POINT_ID

static final java.lang.String EXTENSION_POINT_ID
ID of the extension point for preprocessors that are loaded dynamically via the extension registry

See Also:
Constant Field Values
Method Detail

process

void process(HttpServletRequest request,
             HttpServletResponse response,
             StateHolderController state)
             throws PreProcessorException
Performs validation operations on the state holder.

Parameters:
request - Servlet request (must not be null)
response - Servlet response (must not be null)
state - Modifyable copy of the state to operate on (must not be null)
Throws:
PreProcessorException - The state could not be validated, the request processing should be aborted