KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > java > JavaUpToDateStatusProvider


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.modules.java;
21
22 import javax.swing.event.DocumentEvent JavaDoc;
23 import javax.swing.event.DocumentListener JavaDoc;
24 import javax.swing.text.Document JavaDoc;
25 import org.netbeans.spi.editor.errorstripe.UpToDateStatus;
26 import org.netbeans.spi.editor.errorstripe.UpToDateStatusProvider;
27
28 /**
29  *
30  * @author Jan Lahoda
31  */

32 final class JavaUpToDateStatusProvider extends UpToDateStatusProvider implements DocumentListener JavaDoc {
33
34     private UpToDateStatus upToDate;
35
36     public static JavaUpToDateStatusProvider get(Document JavaDoc doc) {
37         JavaUpToDateStatusProvider provider = (JavaUpToDateStatusProvider) doc.getProperty(JavaUpToDateStatusProvider.class);
38         
39         if (provider == null) {
40             doc.putProperty(JavaUpToDateStatusProvider.class, provider = new JavaUpToDateStatusProvider(doc));
41         }
42         
43         return provider;
44     }
45     
46     /** Creates a new instance of AnnotationMarkProvider */
47     private JavaUpToDateStatusProvider(Document JavaDoc document) {
48         upToDate = UpToDateStatus.UP_TO_DATE_OK;
49         document.addDocumentListener(this);
50     }
51     
52     public synchronized UpToDateStatus getUpToDate() {
53         return upToDate;
54     }
55     
56     private void setUpToDate(UpToDateStatus upToDate) {
57         this.upToDate = upToDate;
58         
59         firePropertyChange(PROP_UP_TO_DATE, null, upToDate);
60     }
61     
62     public synchronized void removeUpdate(DocumentEvent JavaDoc e) {
63         setUpToDate(UpToDateStatus.UP_TO_DATE_DIRTY);
64     }
65     
66     public synchronized void insertUpdate(DocumentEvent JavaDoc e) {
67         setUpToDate(UpToDateStatus.UP_TO_DATE_DIRTY);
68     }
69     
70     public void changedUpdate(DocumentEvent JavaDoc e) {
71     }
72     
73     public synchronized void notifyParsingStarted() {
74         setUpToDate(UpToDateStatus.UP_TO_DATE_PROCESSING);
75     }
76     
77     public synchronized void notifyParsingFinished() {
78         if (getUpToDate() == UpToDateStatus.UP_TO_DATE_PROCESSING)
79             setUpToDate(UpToDateStatus.UP_TO_DATE_OK);
80     }
81     
82 }
83
Popular Tags