org.zkoss.zk.ui.event.Deferrable Maven / Gradle / Ivy
/* Deferrable.java
Purpose:
Description:
History:
Fri May 4 15:55:53 2007, Created by tomyeh
Copyright (C) 2007 Potix Corporation. All Rights Reserved.
{{IS_RIGHT
This program is distributed under LGPL Version 2.1 in the hope that
it will be useful, but WITHOUT ANY WARRANTY.
}}IS_RIGHT
*/
package org.zkoss.zk.ui.event;
/**
* Used to decorate {@link EventListener} to denote whether the event
* for the listener can be deferred.
*
* By default (without implementing {@link Deferrable}), the event is
* sent to the server immediately when it is triggered at the client.
*
*
To make a listener deferrable, you have to implement {@link Deferrable}
* and return true for {@link #isDeferrable}.
* Then, the event won't be sent until another non-deferrable
* event is about to send to the server.
*
*
The deferrable events are used to improve the performance by minimizing
* the traffic between the clients and the server.
* It is usually used
* for event listeners that maintains the application states, rather
* than generating visual responses.
*
* @author tomyeh
* @see EventListener
*/
public interface Deferrable {
/** Returns whether the event can be deferred for this listener.
* If false is returned, it is the same as not implementing this
* interface at all.
*/
public boolean isDeferrable();
}