public static interface NbDocument.WriteLockable extends Document
StreamDescriptionProperty, TitleProperty
Modifier and Type | Method and Description |
---|---|
void |
runAtomic(Runnable r)
Executes given runnable in lock mode of the document.
|
void |
runAtomicAsUser(Runnable r)
Executes given runnable in "user mode" does not allowing any modifications
to parts of text marked as guarded.
|
addDocumentListener, addUndoableEditListener, createPosition, getDefaultRootElement, getEndPosition, getLength, getProperty, getRootElements, getStartPosition, getText, getText, insertString, putProperty, remove, removeDocumentListener, removeUndoableEditListener, render
void runAtomic(Runnable r)
By definition there should be only one locker at a time. Sample implementation, if you are extending AbstractDocument
:
writeLock();
try {
r.run();
} finally {
writeUnlock();
}
r
- runnable to run while lockedNbDocument.runAtomic(javax.swing.text.StyledDocument, java.lang.Runnable)
void runAtomicAsUser(Runnable r) throws BadLocationException
r
- runnable to run in user mode that will have exclusive access to modify the documentBadLocationException
- if a modification of guarded text occured
and that is why no changes to the document has been done.