KickJava   Java API By Example, From Geeks To Geeks.

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


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 org.openide.nodes.Node;
23
24 import org.netbeans.modules.dbschema.*;
25
26 /** A factory used to create instances of hierarchy node implementations.
27 * Loaders that use the element hierarchy should implement this factory
28 * so as to provide their own implementations of hierarchy element nodes.
29 * @see TableChildren
30 */

31 public interface DBElementNodeFactory {
32     /** Make a node representing a schema.
33      * @param element the schema
34      * @return a schema node instance
35      */

36     public Node createSchemaNode (SchemaElement element);
37   
38     /** Make a node representing a column.
39      * @param element the column
40      * @return a column node instance
41      */

42     public Node createColumnNode (ColumnElement element);
43     
44     /** Make a node representing a column pair.
45      * @param element the column pair
46      * @return a column pair node instance
47      */

48     public Node createColumnPairNode (ColumnPairElement element);
49
50     /** Make a node representing an index.
51      * @param element the index
52      * @return an index node instance
53      */

54     public Node createIndexNode (IndexElement element);
55
56     /** Make a node representing a foreign key.
57      * @param element the foreign key
58      * @return a foreign key node instance
59      */

60     public Node createForeignKeyNode (ForeignKeyElement element);
61
62     /** Make a node representing a table.
63      * @param element the table
64      * @return a table node instance
65      */

66     public Node createTableNode (TableElement element);
67
68     /** Make a node indicating that the creation of children
69      * is still under way.
70      * It should be used when the process is slow.
71      * @return a wait node
72      */

73     public Node createWaitNode ();
74
75     /** Make a node indicating that there was an error creating
76      * the element children.
77      * @return the error node
78      */

79     public Node createErrorNode ();
80 }
81
Popular Tags