org.netbeans.editor
Interface AtomicLockListener
- All Superinterfaces:
- EventListener
- All Known Implementing Classes:
- BaseCaret, ExtCaret
public interface AtomicLockListener
- extends EventListener
Listener for begining and end of the atomic
locking. It can be used to optimize the document
listeners if a large amounts of edits are performed
in an atomic change. For example if there's
a timer restarted after each document modification
to update an external pane showing the document structure
after 2000ms past the last modification occurred
then there could be a following listener used:
class MultiListener implements DocumentListener, AtomicLockListener {
private boolean atomic; // whether in atomic change
public void insertUpdate(DocumentEvent evt) {
modified(evt);
}
public void removeUpdate(DocumentEvent evt) {
modified(evt);
}
public void changedUpdate(DocumentEvent evt) {
}
private void modified(DocumentEvent evt) {
if (!atomic) {
restartTimer(); // restart the timer
}
}
public void atomicLock(AtomicLockEvent evt) {
atomic = true;
}
public void atomicUnlock(AtomicLockEvent evt) {
atomic = false;
}
}
atomicLock
void atomicLock(AtomicLockEvent evt)
atomicUnlock
void atomicUnlock(AtomicLockEvent evt)