KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > xml > core > cookies > DataObjectCookieManager


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 package org.netbeans.modules.xml.core.cookies;
20
21 import org.openide.nodes.*;
22 import org.openide.loaders.*;
23 import org.openide.cookies.*;
24
25 /**
26  * This implementation of CookieManagerCookie updates modified property of
27  * passed DataObject according of presence of SaveCookie.
28  *
29  * @author Petr Kuzel
30  * @version
31  */

32 public class DataObjectCookieManager extends DefaultCookieManager {
33
34     private final DataObject dobj;
35
36     /** Creates new DataObjectCookieManager */
37     public DataObjectCookieManager(DataObject dobj, CookieSet set) {
38         super(set);
39         this.dobj = dobj;
40     }
41
42     /**
43      * Remove given cookie from cookies managed by owner.
44      * The owner is free to update its internal state according it.
45      */

46     public void removeCookie(Node.Cookie cake) {
47         
48         //??? place it into RP? it fires. It should do callee, it knows about locks!
49

50         if ( Util.THIS.isLoggable() ) /* then */ Util.THIS.debug ("DataObjectCookieManager::removeCookie " + cake.getClass()); // NOI18N
51

52         super.removeCookie(cake);
53         
54         // any save cookie subclass means the we are not modified any more
55
if (SaveCookie.class.isAssignableFrom (cake.getClass())) {
56             dobj.setModified (false);
57         }
58     }
59     
60     /**
61      * Add given cookie into set of cookies ot this cookie owner.
62      * Cookie owner is free to update its internal state according it.
63      */

64     public void addCookie(Node.Cookie cake) {
65         
66         if ( Util.THIS.isLoggable() ) /* then */ Util.THIS.debug ("DataObjectCookieManager::addCookie " + cake.getClass()); // NOI18N
67

68         super.addCookie(cake);
69         
70         // any save cookie subclass means the we are modified
71
if (SaveCookie.class.isAssignableFrom (cake.getClass())) {
72             dobj.setModified (true);
73         }
74     }
75     
76 }
77
Popular Tags