public final class ChangesetCache extends Object implements Preferences.PreferenceChangedListener
getInstance().
Clients interested in cache updates can register for ChangesetCacheEvents
using addChangesetCacheListener(ChangesetCacheListener). They can use
removeChangesetCacheListener(ChangesetCacheListener) to unregister as
cache event listener.
The cache itself listens to PreferenceChangeEvents. It
clears itself if the OSM API URL is changed in the preferences.
ChangesetCacheEvents 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.PreferenceChangedListenerpreferenceChanged in interface Preferences.PreferenceChangedListenere - the preference change event