public abstract class Updater
extends java.lang.Object
implements java.util.Observer
Modifier and Type | Class and Description |
---|---|
protected static class |
Updater.ConstantUpdateInterval |
protected static class |
Updater.DynamicUpdateInterval |
protected static interface |
Updater.IUpdateInterval |
static class |
Updater.ObservableInfo |
static class |
Updater.ObservableInfoContainer |
Modifier and Type | Field and Description |
---|---|
private boolean |
m_bAutoUpdateChanged |
private boolean |
m_bInitialRun |
private boolean |
m_bUpdating |
private boolean |
m_interrupted |
private Updater.ObservableInfo |
m_observable |
private java.util.Vector |
m_queueUpdatersToCall |
private Updater.IUpdateInterval |
m_updateInterval |
private java.lang.Thread |
m_updateThread |
private static long |
MIN_WAITING_TIME_MS |
private java.lang.Object |
UPDATE_SYNC |
Constructor and Description |
---|
Updater(Updater.IUpdateInterval a_updateInterval,
Updater.ObservableInfo a_observable)
Initialises and starts the database update thread.
|
Modifier and Type | Method and Description |
---|---|
abstract long |
getLastUpdate()
Should return Long.MAX_VALUE if no update was done since program start.
|
protected Updater.ObservableInfo |
getObservableInfo() |
abstract java.lang.Class |
getUpdatedClass() |
protected java.lang.String |
getUpdatedClassName() |
Updater.IUpdateInterval |
getUpdateInterval() |
private void |
init()
May be used to re-initialize the thread after stopping it.
|
boolean |
isFirstUpdateDone() |
protected boolean |
isUpdatePaused()
May be overwritten if an update is currently no wanted.
|
boolean |
needsUpdate() |
void |
start(boolean a_bSynchronized)
Starts the thread if it has not already started or has been stopped before.
|
void |
stop()
Stops the update thread.
|
boolean |
update()
Force a synchronized update of the known database entries.
|
private boolean |
update(boolean a_bSynchronized,
java.util.Vector a_queueUpdatersToUpdate)
Force an update of the known database entries.
|
void |
update(java.util.Observable a_observable,
java.lang.Object a_argument) |
boolean |
update(java.util.Vector a_queueUpdatersToUpdate) |
void |
updateAsync(java.util.Vector a_queueUpdatersToUpdate)
Force an update of the known database entries.
|
protected abstract void |
updateInternal()
Does the update and should tell if it was successful or not.
|
protected abstract boolean |
wasUpdateSuccessful() |
private static final long MIN_WAITING_TIME_MS
private Updater.IUpdateInterval m_updateInterval
private java.lang.Thread m_updateThread
private boolean m_bAutoUpdateChanged
private boolean m_bInitialRun
private boolean m_interrupted
private boolean m_bUpdating
private java.lang.Object UPDATE_SYNC
private Updater.ObservableInfo m_observable
private java.util.Vector m_queueUpdatersToCall
public Updater(Updater.IUpdateInterval a_updateInterval, Updater.ObservableInfo a_observable)
private final void init()
protected Updater.ObservableInfo getObservableInfo()
public void update(java.util.Observable a_observable, java.lang.Object a_argument)
update
in interface java.util.Observer
public final void start(boolean a_bSynchronized)
public final boolean update()
public final boolean update(java.util.Vector a_queueUpdatersToUpdate)
public final void updateAsync(java.util.Vector a_queueUpdatersToUpdate)
a_queueUpdatersToUpdate
- enabled a defined order of several updaters; just put one or more updates in a queue
exactly in the order as they should be calledprivate final boolean update(boolean a_bSynchronized, java.util.Vector a_queueUpdatersToUpdate)
a_bSynchronized
- true if the current thread should wait until the update is done; false otherwisepublic final void stop()
public final Updater.IUpdateInterval getUpdateInterval()
public abstract java.lang.Class getUpdatedClass()
protected abstract boolean wasUpdateSuccessful()
public abstract long getLastUpdate()
public boolean needsUpdate()
public final boolean isFirstUpdateDone()
protected abstract void updateInternal()
protected boolean isUpdatePaused()
protected final java.lang.String getUpdatedClassName()
Copyright © 2023. All rights reserved.