KickJava   Java API By Example, From Geeks To Geeks.

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


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 an index.
29  * @see IndexElement
30  */

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

36     public IndexElementNode (IndexElement element, TableChildren children, boolean writeable) {
37         super(element, children, writeable);
38         TableElementFilter filter = new TableElementFilter();
39         filter.setOrder(new int[] {TableElementFilter.COLUMN});
40         filter.setSorted(false);
41         children.setFilter(filter);
42     }
43     
44     /* Resolve the current icon base.
45      * @return icon base string.
46      */

47     protected String JavaDoc resolveIconBase () {
48         return INDEX;
49     }
50
51     /* Creates property set for this node */
52     protected Sheet createSheet ()
53     {
54         Sheet sheet = Sheet.createDefault();
55         Sheet.Set ps = sheet.get(Sheet.PROPERTIES);
56
57         ps.put(createNameProperty(writeable));
58         ps.put(createUniqueProperty(writeable));
59
60         return sheet;
61     }
62
63     /** Create a property for the index unique.
64      * @param canW <code>false</code> to force property to be read-only
65      * @return the property
66      */

67     protected Node.Property createUniqueProperty (boolean canW) {
68         return new ElementProp(PROP_UNIQUE, Boolean.TYPE, canW) {
69             /** Gets the value */
70             public Object JavaDoc getValue () {
71                 return Boolean.valueOf(((IndexElement)element).isUnique());
72             }
73         };
74     }
75 }
76
Popular Tags