public abstract class AbstractBusyManager extends AbstractLoggableComponent implements BusyManager
BusyManager
.Modifier and Type | Class and Description |
---|---|
private class |
AbstractBusyManager.BusySessionImpl
This inner class is the implementation of
BusySession . |
Modifier and Type | Field and Description |
---|---|
private boolean |
busy |
private AbstractBusyManager.BusySessionImpl |
currentSession
The current
AbstractBusyManager.BusySessionImpl or null for no open session. |
private AbstractBusyManager.BusySessionImpl |
toplevelSession
The top-level
AbstractBusyManager.BusySessionImpl or null for no open session. |
Constructor and Description |
---|
AbstractBusyManager()
The constructor.
|
Modifier and Type | Method and Description |
---|---|
boolean |
isBusy()
This method determines if the application client is currently busy.
|
protected AbstractBusyManager.BusySessionImpl |
newBusySession(String id)
This method creates a new
AbstractBusyManager.BusySessionImpl . |
protected abstract void |
setBusy()
This method is called whenever the client changes from idle to
busy . |
protected abstract void |
setIdle()
This method is called whenever the client changes from
busy to idle. |
BusySession |
start(String id)
This method starts a
BusySession that has to be terminated by BusySession.stop() . |
private void |
stopSession(AbstractBusyManager.BusySessionImpl session) |
createLogger, doInitialize, getLogger
doInitialized, getInitializationState, initialize
private volatile boolean busy
isBusy()
private AbstractBusyManager.BusySessionImpl currentSession
AbstractBusyManager.BusySessionImpl
or null
for no open session.private AbstractBusyManager.BusySessionImpl toplevelSession
AbstractBusyManager.BusySessionImpl
or null
for no open session.public boolean isBusy()
isBusy
in interface BusyManager
true
if busy, false
otherwise.protected abstract void setBusy()
busy
. It has to
implement the client specific behavior.protected abstract void setIdle()
busy
to idle. It has to
implement the client specific behavior.public BusySession start(String id)
BusySession
that has to be terminated by BusySession.stop()
. If the
application client is idle (NOT busy
), it will switch to busy
.
Otherwise this is considered as a nested BusySession
. Only after the initial BusySession
have been stopped
, the application will switch from busy
back to idle mode.start
in interface BusyManager
id
- is an identifier
for the source or the reason for the client being
busy.BusySession
used to stop
the session.private void stopSession(AbstractBusyManager.BusySessionImpl session)
session
- is the AbstractBusyManager.BusySessionImpl
that has been stopped
.protected AbstractBusyManager.BusySessionImpl newBusySession(String id)
AbstractBusyManager.BusySessionImpl
.id
- the ID
.AbstractBusyManager.BusySessionImpl
.Copyright © 2001–2016 mmm-Team. All rights reserved.