public final class ChangesetCache extends Object implements Preferences.PreferenceChangedListener
getInstance()
.
Clients interested in cache updates can register for ChangesetCacheEvent
s
using addChangesetCacheListener(ChangesetCacheListener)
. They can use
removeChangesetCacheListener(ChangesetCacheListener)
to unregister as
cache event listener.
The cache itself listens to PreferenceChangeEvent
s. It
clears itself if the OSM API URL is changed in the preferences.
ChangesetCacheEvent
s are delivered on the EDT.Modifier and Type | Field and Description |
---|---|
private Map<Integer,Changeset> |
cache
the cached changesets
|
private static ChangesetCache |
instance
the unique instance
|
private CopyOnWriteArrayList<ChangesetCacheListener> |
listeners |
Modifier | Constructor and Description |
---|---|
private |
ChangesetCache() |
private static final ChangesetCache instance
private final CopyOnWriteArrayList<ChangesetCacheListener> listeners
private ChangesetCache()
public static ChangesetCache getInstance()
public void addChangesetCacheListener(ChangesetCacheListener listener)
public void removeChangesetCacheListener(ChangesetCacheListener listener)
protected void fireChangesetCacheEvent(ChangesetCacheEvent e)
protected void update(Changeset cs, DefaultChangesetCacheEvent e)
public void update(Collection<Changeset> changesets)
public boolean contains(int id)
public Set<Changeset> getChangesets()
protected void remove(int id, DefaultChangesetCacheEvent e)
public void remove(int id)
public void remove(Collection<Changeset> changesets)
changesets
from the cache. A
ChangesetCacheEvent
is fired.changesets
- the changesets to remove. Ignored if null.public int size()
public void clear()
public List<Changeset> getOpenChangesets()
public void preferenceChanged(Preferences.PreferenceChangeEvent e)
Preferences.PreferenceChangedListener
preferenceChanged
in interface Preferences.PreferenceChangedListener
e
- the preference change event