Class AbstractCache
- java.lang.Object
-
- de.bsvrz.sys.funclib.bitctrl.modell.util.cache.AbstractCache
-
- Direct Known Subclasses:
AbstractDavVerbindungsCache
,AnzeigenCache
,AnzeigeVerfahrenCache
,AqCache
,MifCache
,ModellObjektCache
,MqCache
,NetzCache
,NetzCacheExtended
,RdsCache
,RdsMeldungenCache
,StrassenTeilSegmenteCache
,StreckenAbschnittCache
,TlsCache
,TmcCache
,TmcLocationCodeCache
public abstract class AbstractCache extends java.lang.Object
Basisklasse für alle Caches. Wenn die ableitende Klasse eine Methode preInit() hat, wird diese vor dem Aufruf vondoInit(IMonitor)
mit den ParentCahces aus dem Construktor aufgerufen. Da die Methodenparameter von den Parent-Caches abhängig sind, kann auch keine Superklassenmethode existieren.Achtung (TODO): Es kommt hier gelegentlich zu Deadlocks, wegen der diversen Synchronized Methoden bzw. sonstigen Synchonisierungen (Methoden
isInitialisiert()
undsetState(String)
). Es wurde erstmal versucht des Problem durch scharfes draufschauen und überlegen zu beheben -es besteht jedoch die Möglichkeit, dass das Problem weiterhin besteht.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
AbstractCache.CacheMonitor
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
PROP_PROGRESS
static java.lang.String
PROP_STATE
static java.lang.String
PROP_STATE_CANCELED
static java.lang.String
PROP_STATE_INITIALIZED
static java.lang.String
PROP_STATE_STARTED
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractCache(AbstractCache... parentCaches)
protected
AbstractCache(java.lang.String name, AbstractCache... parentCaches)
-
Method Summary
Modifier and Type Method Description void
addPropertyChangeListener(java.beans.PropertyChangeListener listener)
Registriert einenPropertyChangeListener
für alle Properties.void
addPropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
Registriert einenPropertyChangeListener
nur für eine bestimmte Property.void
blockAbruf(de.bsvrz.dav.daf.main.config.DataModel model, de.bsvrz.dav.daf.main.config.SystemObjectType type, de.bsvrz.dav.daf.main.config.AttributeGroup atg)
void
blockAbruf(de.bsvrz.dav.daf.main.config.DataModel model, de.bsvrz.dav.daf.main.config.SystemObjectType type, de.bsvrz.dav.daf.main.config.AttributeGroup[] atgs)
protected void
callDoInit(com.bitctrl.util.monitor.IMonitor monitor)
protected abstract boolean
doInit(com.bitctrl.util.monitor.IMonitor monitor)
protected void
ensureInit()
protected void
firePropertyChanged(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue)
Verteilt die Nachricht über die Änderung einer Property.java.lang.String
getName()
java.lang.String
getState()
boolean
isBenutzeBlockAbruf()
boolean
isInitialisiert()
Flag ob der Netzcache initialisiert wurde.void
redoInit()
void
removePropertyChangeListener(java.beans.PropertyChangeListener listener)
Deregistriert einenPropertyChangeListener
für alle Properties.void
removePropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
Deregistriert einenPropertyChangeListener
nur für eine bestimmte Property.void
setBenutzeBlockAbruf(boolean benutzerBlockAbruf)
static void
setCacheMonitor(AbstractCache.CacheMonitor cacheMonitor)
void
setName(java.lang.String name)
void
setState(java.lang.String newState)
-
-
-
Field Detail
-
PROP_STATE
public static final java.lang.String PROP_STATE
- See Also:
- Constant Field Values
-
PROP_STATE_STARTED
public static final java.lang.String PROP_STATE_STARTED
- See Also:
- Constant Field Values
-
PROP_STATE_INITIALIZED
public static final java.lang.String PROP_STATE_INITIALIZED
- See Also:
- Constant Field Values
-
PROP_STATE_CANCELED
public static final java.lang.String PROP_STATE_CANCELED
- See Also:
- Constant Field Values
-
PROP_PROGRESS
public static final java.lang.String PROP_PROGRESS
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
AbstractCache
protected AbstractCache(AbstractCache... parentCaches)
-
AbstractCache
protected AbstractCache(java.lang.String name, AbstractCache... parentCaches)
-
-
Method Detail
-
blockAbruf
public final void blockAbruf(de.bsvrz.dav.daf.main.config.DataModel model, de.bsvrz.dav.daf.main.config.SystemObjectType type, de.bsvrz.dav.daf.main.config.AttributeGroup atg)
-
blockAbruf
public void blockAbruf(de.bsvrz.dav.daf.main.config.DataModel model, de.bsvrz.dav.daf.main.config.SystemObjectType type, de.bsvrz.dav.daf.main.config.AttributeGroup[] atgs)
-
isBenutzeBlockAbruf
public boolean isBenutzeBlockAbruf()
-
setBenutzeBlockAbruf
public void setBenutzeBlockAbruf(boolean benutzerBlockAbruf)
-
callDoInit
protected void callDoInit(com.bitctrl.util.monitor.IMonitor monitor)
-
doInit
protected abstract boolean doInit(com.bitctrl.util.monitor.IMonitor monitor)
-
addPropertyChangeListener
public final void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
Registriert einenPropertyChangeListener
für alle Properties.- Parameters:
listener
- der zu registrierende Listener.
-
addPropertyChangeListener
public final void addPropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
Registriert einenPropertyChangeListener
nur für eine bestimmte Property.- Parameters:
propertyName
- der Name der Property, die beobachtet werden soll.listener
- der zu registrierende Listener.
-
removePropertyChangeListener
public final void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
Deregistriert einenPropertyChangeListener
für alle Properties.- Parameters:
listener
- der zu deregistrierende Listener.
-
removePropertyChangeListener
public final void removePropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
Deregistriert einenPropertyChangeListener
nur für eine bestimmte Property.- Parameters:
propertyName
- der Name der Property, die nicht mehr beobachtet werden soll.listener
- der zu deregistrierende Listener.
-
firePropertyChanged
protected final void firePropertyChanged(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue)
Verteilt die Nachricht über die Änderung einer Property.- Parameters:
propertyName
- der Name der geänderten Property.oldValue
- der alte Propertywert.newValue
- der neue Propertywert.
-
ensureInit
protected final void ensureInit()
-
isInitialisiert
public final boolean isInitialisiert()
Flag ob der Netzcache initialisiert wurde. Will man auf das warten bis der Cache initialisiert wurde, kann einPropertyChangeListener
für die PropertyPROP_STATE
registriert werden.- Returns:
true
, wenn der Cache initialister ist, sonstfalse
.
-
setCacheMonitor
public static final void setCacheMonitor(AbstractCache.CacheMonitor cacheMonitor)
-
redoInit
public final void redoInit()
-
getState
public java.lang.String getState()
-
setState
public void setState(java.lang.String newState)
-
getName
public java.lang.String getName()
-
setName
public void setName(java.lang.String name)
-
-