KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > db > explorer > DatabasePropertySupport


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.db.explorer;
21
22 import org.openide.nodes.PropertySupport;
23
24 import org.netbeans.modules.db.explorer.infos.ConnectionNodeInfo;
25 import org.netbeans.modules.db.explorer.infos.DatabaseNodeInfo;
26
27 public class DatabasePropertySupport extends PropertySupport {
28     protected Object JavaDoc repository;
29
30     public DatabasePropertySupport(String JavaDoc name, Class JavaDoc type, String JavaDoc displayName, String JavaDoc shortDescription, Object JavaDoc rep, boolean writable) {
31         super(name, type, displayName, shortDescription, true, writable);
32         repository = rep;
33     }
34
35     public Object JavaDoc getValue() throws IllegalAccessException JavaDoc, IllegalArgumentException JavaDoc {
36         String JavaDoc code = getName();
37         Object JavaDoc rval = ((DatabaseNodeInfo) repository).getProperty(code);
38         return rval;
39     }
40
41     public void setValue(Object JavaDoc val) throws IllegalAccessException JavaDoc, IllegalArgumentException JavaDoc {
42         String JavaDoc code = getName();
43         ((DatabaseNodeInfo) repository).setProperty(code, val);
44     }
45     
46     /* Can write the value of the property.
47     * Returns the value passed into constructor.
48     * @return <CODE>true</CODE> if the read of the value is supported
49     */

50     public boolean canWrite () {
51         if (repository instanceof ConnectionNodeInfo) {
52             String JavaDoc propName = getName();
53             if ("db".equals(propName) || "driver".equals(propName) || "schema".equals(propName) || "user".equals(propName) || "rememberpwd".equals(propName)) //NOI18N
54
return ((ConnectionNodeInfo) repository).getConnection() == null ? true : false;
55             else
56                 return super.canWrite();
57         } else
58             return super.canWrite();
59     }
60 }
61
Popular Tags