private boolean hasResized = false;
[[#variable1af67240]]Timer _refreshTimer = new Timer(true);
private boolean _autoRefresh = false;
private int _refreshPeriod = 10;
public class RefreshTimerTask extends TimerTask {
public void run() {
[[#variable1af67160]]();
}
}
/**
* Ctor.
*
* @param autoRefeshPeriod
* @param session Current session.
* @throws IllegalArgumentException Thrown if a <TT>null</TT> <TT>ISession</TT> passed.
*/
public [[#variable1af670c0]](ISession session, int autoRefeshPeriod) {
super();
_session = session;
_refreshPeriod = autoRefeshPeriod;
createGUI();
}
/**
* Current session.
*/
public ISession getSession() {
return _session;
}
private void resetTimer() {
if (_refreshTimer != null) {
_refreshTimer.cancel();
//Nil out the timer so that it can be gc'd
_refreshTimer = null;
}
if (_autoRefresh && (_refreshPeriod > 0)) {
_refreshTimer = new Timer(true);
_refreshTimer.scheduleAtFixedRate(new RefreshTimerTask(), _refreshPeriod * 1000, _refreshPeriod * 1000);
}
}
public void setAutoRefresh(boolean enable) {
if (enable != _autoRefresh) {
_autoRefresh = enable;
resetTimer();
}
}
public boolean getAutoRefesh() {
return _autoRefresh;
}
public void setAutoRefreshPeriod(int seconds) {
if (_refreshPeriod != seconds) {
_refreshPeriod = seconds;
resetTimer();
}
}
public int getAutoRefreshPeriod() {
return _refreshPeriod;
}
|