org.directwebremoting.filter
Class ExtraLatencyAjaxFilter

java.lang.Object
  extended by org.directwebremoting.filter.ExtraLatencyAjaxFilter
All Implemented Interfaces:
AjaxFilter

public class ExtraLatencyAjaxFilter
extends java.lang.Object
implements AjaxFilter

An example filter that delays responding to a query by a customizable time to simulate Internet latency. Half of the delay is inserted before and half after the invocation.

The default delay is 100 milliseconds.

Author:
Joe Walker [joe at getahead dot ltd dot uk]

Constructor Summary
ExtraLatencyAjaxFilter()
           
 
Method Summary
 java.lang.Object doFilter(java.lang.Object obj, java.lang.reflect.Method method, java.lang.Object[] params, AjaxFilterChain chain)
          The doFilter method of the AjaxFilter is called by DWR each time an Ajax request is made on a method that this filter is configured against.
 long getDelay()
           
 void setDelay(long delay)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExtraLatencyAjaxFilter

public ExtraLatencyAjaxFilter()
Method Detail

doFilter

public java.lang.Object doFilter(java.lang.Object obj,
                                 java.lang.reflect.Method method,
                                 java.lang.Object[] params,
                                 AjaxFilterChain chain)
                          throws java.lang.Exception
Description copied from interface: AjaxFilter
The doFilter method of the AjaxFilter is called by DWR each time an Ajax request is made on a method that this filter is configured against. The AjaxFilterChain passed in to this method allows the filter to pass on method details to next entity in the chain.

Typically the method would do the following:

  1. Examine the request
  2. Optionally alter the method, object or parameters
  3. Either invoke the next entity in the chain using the AjaxFilterChain or decide to take some other action instead.
  4. Optionally modify the value returned to the user
  5. Take some other action (e.g. logging)

Specified by:
doFilter in interface AjaxFilter
Parameters:
obj - The object to execute the method on (i.e. 'this')
method - The method to execute
params - The parameters to the method call
chain - Allow the request to be passed on
Returns:
The results of the method execution
Throws:
java.io.IOException - When some I/O error occurs
java.lang.Exception - When some processing goes wrong

getDelay

public long getDelay()
Returns:
Returns the delay in milliseconds.

setDelay

public void setDelay(long delay)
Parameters:
delay - The delay to set.

Copyright 2008