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() |
Modifier and Type | Method and Description |
---|---|
void |
addChangesetCacheListener(ChangesetCacheListener listener) |
void |
clear() |
boolean |
contains(Changeset cs) |
boolean |
contains(int id) |
protected void |
fireChangesetCacheEvent(ChangesetCacheEvent e) |
Changeset |
get(int id) |
Set<Changeset> |
getChangesets() |
static ChangesetCache |
getInstance()
Replies the unique instance of the cache
|
List<Changeset> |
getOpenChangesets() |
void |
preferenceChanged(Preferences.PreferenceChangeEvent e) |
void |
remove(Changeset cs) |
void |
remove(Collection<Changeset> changesets)
Removes the changesets in
changesets from the cache. |
void |
remove(int id) |
protected void |
remove(int id,
DefaultChangesetCacheEvent e) |
void |
removeChangesetCacheListener(ChangesetCacheListener listener) |
int |
size() |
void |
update(Changeset cs) |
protected void |
update(Changeset cs,
DefaultChangesetCacheEvent e) |
void |
update(Collection<Changeset> changesets) |
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)
preferenceChanged
in interface Preferences.PreferenceChangedListener