KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > editor > AtomicLockDocument


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.editor;
21
22 import javax.swing.text.Document JavaDoc;
23 /**
24  * Document that supports atomic locking allows
25  * for transactional modifications.
26  * The document is write-locked during the whole atomic
27  * operation. All the operations since
28  * the begining of the atomic operation
29  * can be undone by using atomicUndo().
30  * Typical scenario of the operation
31  * is the following: <PRE>
32  * doc.atomicLock();
33  * try {
34  * ...
35  * modification1
36  * modification2
37  * ...
38  * } catch (BadLocationException e) {
39  * // something went wrong - undo till begining
40  * doc.atomicUndo();
41  * } finally {
42  * doc.atomicUnlock();
43  * }
44  * <PRE>
45  * <P>The external clients can watch for atomic operations
46  * by registering an listener through
47  * {@link addAtomicLockListener(AtomicLockListener)}
48  */

49 public interface AtomicLockDocument extends Document JavaDoc {
50
51     public void atomicLock();
52     
53     public void atomicUnlock();
54     
55     public void atomicUndo();
56     
57     public void addAtomicLockListener(AtomicLockListener l);
58     
59     public void removeAtomicLockListener(AtomicLockListener l);
60
61 }
62
Popular Tags