![]() |
Gridarta Editor
|
Provides support for delayed notification of MapModel changes. More...
Classes | |
class | MapArchObjectListenerImpl |
A MapArchObjectListener attached to all existing maps. More... | |
class | MapModelListenerImpl |
A MapModelListener attached to all existing maps. More... | |
Public Member Functions | |
void | addDelayedMapModelListener (@NotNull final DelayedMapModelListener< G, A, R > listener) |
Adds a DelayedMapModelListener to be notified. More... | |
DelayedMapModelListenerManager (@NotNull final MapManager< G, A, R > mapManager, @NotNull final Exiter exiter) | |
Creates a new instance. More... | |
void | removeDelayedMapModelListener (@NotNull final DelayedMapModelListener< G, A, R > listener) |
Removes a DelayedMapModelListener to be notified. More... | |
void | scheduleAllMapModels () |
Schedules all MapModels as changed. More... | |
void | start () |
Starts execution. More... | |
Private Member Functions | |
void | scheduleMapModel (@NotNull final MapModel< G, A, R > mapModel) |
Schedules a MapModel which has been changed. More... | |
Private Attributes | |
final Collection< DelayedMapModelListener< G, A, R > > | listeners = new CopyOnWriteArrayList<>() |
The listeners to notify. More... | |
final Map< MapModel< G, A, R >, MapArchObjectListenerImpl > | mapArchObjectListeners = new IdentityHashMap<>() |
All known MapModel instances. More... | |
final MapManager< G, A, R > | mapManager |
The MapManager to track. More... | |
final MapManagerListener< G, A, R > | mapManagerListener |
The MapManagerListener used to detect created and closed {} instances. More... | |
final Map< MapModel< G, A, R >, MapModelListenerImpl > | mapModelListeners = new IdentityHashMap<>() |
All known MapModel instances. More... | |
final Map< MapModel< G, A, R >, Void > | scheduledMapModels = new IdentityHashMap<>() |
The MapModels having pending changes. More... | |
final Object | sync = new Object() |
The object used for synchronization. More... | |
final Thread | thread |
The Thread performing map validations. More... | |
long | timeout |
The timestamp when to deliver scheduled map models. More... | |
Static Private Attributes | |
static final long | DELAY = 500L |
Notification delay in milliseconds. More... | |
static final Category | LOG = Logger.getLogger(DelayedMapModelListenerManager.class) |
The Logger for printing log messages. More... | |
Provides support for delayed notification of MapModel changes.
Definition at line 54 of file DelayedMapModelListenerManager.java.
net.sf.gridarta.gui.delayedmapmodel.DelayedMapModelListenerManager< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.DelayedMapModelListenerManager | ( | @NotNull final MapManager< G, A, R > | mapManager, |
@NotNull final Exiter | exiter | ||
) |
Creates a new instance.
mapManager | the map manager to track |
exiter | the exiter instance |
Definition at line 215 of file DelayedMapModelListenerManager.java.
void net.sf.gridarta.gui.delayedmapmodel.DelayedMapModelListenerManager< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.addDelayedMapModelListener | ( | @NotNull final DelayedMapModelListener< G, A, R > | listener | ) |
Adds a DelayedMapModelListener to be notified.
listener | the listener |
Definition at line 258 of file DelayedMapModelListenerManager.java.
void net.sf.gridarta.gui.delayedmapmodel.DelayedMapModelListenerManager< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.removeDelayedMapModelListener | ( | @NotNull final DelayedMapModelListener< G, A, R > | listener | ) |
Removes a DelayedMapModelListener to be notified.
listener | the listener |
Definition at line 269 of file DelayedMapModelListenerManager.java.
void net.sf.gridarta.gui.delayedmapmodel.DelayedMapModelListenerManager< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.scheduleAllMapModels | ( | ) |
Schedules all MapModels as changed.
Definition at line 289 of file DelayedMapModelListenerManager.java.
Referenced by net.sf.gridarta.gui.delayedmapmodel.DelayedMapModelListenerManager< G, A, R >.start(), and net.sf.gridarta.gui.autovalidator.AutoValidator< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.validateAllMaps().
|
private |
Schedules a MapModel which has been changed.
mapModel | the map model to schedule |
Definition at line 277 of file DelayedMapModelListenerManager.java.
Referenced by net.sf.gridarta.gui.delayedmapmodel.DelayedMapModelListenerManager< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.MapModelListenerImpl.mapFileChanged(), net.sf.gridarta.gui.delayedmapmodel.DelayedMapModelListenerManager< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.MapArchObjectListenerImpl.mapMetaChanged(), net.sf.gridarta.gui.delayedmapmodel.DelayedMapModelListenerManager< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.MapModelListenerImpl.mapObjectsChanged(), net.sf.gridarta.gui.delayedmapmodel.DelayedMapModelListenerManager< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.MapModelListenerImpl.mapSizeChanged(), and net.sf.gridarta.gui.delayedmapmodel.DelayedMapModelListenerManager< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.MapModelListenerImpl.mapSquaresChanged().
void net.sf.gridarta.gui.delayedmapmodel.DelayedMapModelListenerManager< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.start | ( | ) |
Starts execution.
Definition at line 249 of file DelayedMapModelListenerManager.java.
|
staticprivate |
Notification delay in milliseconds.
All listeners will be notified this delay after the last map change has happened.
Definition at line 66 of file DelayedMapModelListenerManager.java.
Referenced by net.sf.gridarta.gui.delayedmapmodel.DelayedMapModelListenerManager< G, A, R >.scheduleAllMapModels(), and net.sf.gridarta.gui.delayedmapmodel.DelayedMapModelListenerManager< G, A, R >.scheduleMapModel().
|
private |
The listeners to notify.
Definition at line 111 of file DelayedMapModelListenerManager.java.
Referenced by net.sf.gridarta.gui.delayedmapmodel.DelayedMapModelListenerManager< G, A, R >.addDelayedMapModelListener(), and net.sf.gridarta.gui.delayedmapmodel.DelayedMapModelListenerManager< G, A, R >.removeDelayedMapModelListener().
|
staticprivate |
The Logger for printing log messages.
Definition at line 60 of file DelayedMapModelListenerManager.java.
Referenced by net.sf.gridarta.gui.delayedmapmodel.DelayedMapModelListenerManager< G, A, R >.DelayedMapModelListenerManager().
|
private |
All known MapModel instances.
Maps map model instance to attached MapArchObjectListenerImpl instance.
Definition at line 86 of file DelayedMapModelListenerManager.java.
|
private |
The MapManager to track.
Definition at line 72 of file DelayedMapModelListenerManager.java.
Referenced by net.sf.gridarta.gui.delayedmapmodel.DelayedMapModelListenerManager< G, A, R >.addDelayedMapModelListener(), net.sf.gridarta.gui.delayedmapmodel.DelayedMapModelListenerManager< G, A, R >.DelayedMapModelListenerManager(), and net.sf.gridarta.gui.delayedmapmodel.DelayedMapModelListenerManager< G, A, R >.scheduleAllMapModels().
|
private |
The MapManagerListener used to detect created and closed {} instances.
Definition at line 118 of file DelayedMapModelListenerManager.java.
Referenced by net.sf.gridarta.gui.delayedmapmodel.DelayedMapModelListenerManager< G, A, R >.DelayedMapModelListenerManager().
|
private |
All known MapModel instances.
Maps map model instance to attached MapModelListenerImpl instance.
Definition at line 79 of file DelayedMapModelListenerManager.java.
|
private |
The MapModels having pending changes.
Accesses are synchronized with sync.
Definition at line 105 of file DelayedMapModelListenerManager.java.
Referenced by net.sf.gridarta.gui.delayedmapmodel.DelayedMapModelListenerManager< G, A, R >.scheduleAllMapModels(), and net.sf.gridarta.gui.delayedmapmodel.DelayedMapModelListenerManager< G, A, R >.scheduleMapModel().
|
private |
The object used for synchronization.
Definition at line 98 of file DelayedMapModelListenerManager.java.
Referenced by net.sf.gridarta.gui.delayedmapmodel.DelayedMapModelListenerManager< G, A, R >.scheduleAllMapModels(), and net.sf.gridarta.gui.delayedmapmodel.DelayedMapModelListenerManager< G, A, R >.scheduleMapModel().
|
private |
The Thread performing map validations.
Definition at line 163 of file DelayedMapModelListenerManager.java.
Referenced by net.sf.gridarta.gui.delayedmapmodel.DelayedMapModelListenerManager< G, A, R >.DelayedMapModelListenerManager(), and net.sf.gridarta.gui.delayedmapmodel.DelayedMapModelListenerManager< G, A, R >.start().
|
private |
The timestamp when to deliver scheduled map models.
Set to zero when not active.
Definition at line 92 of file DelayedMapModelListenerManager.java.
Referenced by net.sf.gridarta.gui.delayedmapmodel.DelayedMapModelListenerManager< G, A, R >.scheduleAllMapModels(), and net.sf.gridarta.gui.delayedmapmodel.DelayedMapModelListenerManager< G, A, R >.scheduleMapModel().