KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > dbschema > nodes > ColumnPairElementNode


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.dbschema.nodes;
21
22 import java.beans.*;
23
24 import org.openide.nodes.*;
25
26 import org.netbeans.modules.dbschema.*;
27
28 /** Node representing a column pair.
29  * @see ColumnElement
30  */

31 public class ColumnPairElementNode extends DBMemberElementNode {
32     /** Create a new column pair node.
33      * @param element column pair element to represent
34      * @param writeable <code>true</code> to be writable
35      */

36     public ColumnPairElementNode(ColumnPairElement element,boolean writeable) {
37         super(element, Children.LEAF, writeable);
38     }
39
40     /* Resolve the current icon base.
41      * @return icon base string.
42      */

43     protected String JavaDoc resolveIconBase () {
44         //PENDING - column pair element should be here
45
return COLUMN;
46     }
47
48     /* Creates property set for this node */
49     protected Sheet createSheet () {
50         Sheet sheet = Sheet.createDefault();
51         Sheet.Set ps = sheet.get(Sheet.PROPERTIES);
52
53         ps.put(createNameProperty(writeable));
54         ps.put(createLocalColumnProperty(writeable));
55         ps.put(createReferencedColumnProperty(writeable));
56
57         return sheet;
58     }
59     
60     /** Create a node property representing the element's name.
61      * @param canW if <code>false</code>, property will be read-only
62      * @return the property.
63      */

64     protected Node.Property createNameProperty (boolean canW) {
65         return new ElementProp(Node.PROP_NAME, String JavaDoc.class,canW) {
66             /** Gets the value */
67             public Object JavaDoc getValue () {
68                 return localColumnName() + ";" + referencedColumnName(); //NOI18N
69
}
70         };
71     }
72
73     /** Create a property for the column pair local column.
74      * @param canW <code>false</code> to force property to be read-only
75      * @return the property
76      */

77     protected Node.Property createLocalColumnProperty(boolean canW) {
78         return new ElementProp(PROP_LOCAL_COLUMN, String JavaDoc.class, canW) {
79             /** Gets the value */
80             public Object JavaDoc getValue () {
81                 return localColumnName();
82             }
83         };
84     }
85     
86     /** Create a property for the column pair referenced column.
87      * @param canW <code>false</code> to force property to be read-only
88      * @return the property
89      */

90     protected Node.Property createReferencedColumnProperty(boolean canW) {
91         return new ElementProp(PROP_REFERENCED_COLUMN, String JavaDoc.class, canW) {
92             /** Gets the value */
93             public Object JavaDoc getValue () {
94                 return referencedColumnName();
95             }
96         };
97     }
98     
99     private String JavaDoc localColumnName() {
100         ColumnElement elm = ((ColumnPairElement) element).getLocalColumn();
101         return elm.getDeclaringTable().getName().getName() + "." + elm.getName().getName(); //NOI18N
102
}
103     
104     private String JavaDoc referencedColumnName() {
105         ColumnElement elm = ((ColumnPairElement) element).getReferencedColumn();
106         return elm.getDeclaringTable().getName().getName() + "." + elm.getName().getName(); //NOI18N
107
}
108     
109 }
110
Popular Tags