Source Code Cross Referenced for KeyColumn.java in  » IDE-Netbeans » sql.project » org » netbeans » modules » jdbcwizard » builder » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » IDE Netbeans » sql.project » org.netbeans.modules.jdbcwizard.builder 
Source Cross Referenced  Class Diagram Java Document (Java Doc) 


001:        /*
002:         * The contents of this file are subject to the terms of the Common Development
003:         * and Distribution License (the License). You may not use this file except in
004:         * compliance with the License.
005:         * 
006:         * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
007:         * or http://www.netbeans.org/cddl.txt.
008:         * 
009:         * When distributing Covered Code, include this CDDL Header Notice in each file
010:         * and include the License file at http://www.netbeans.org/cddl.txt.
011:         * If applicable, add the following below the CDDL Header, with the fields
012:         * enclosed by brackets [] replaced by your own identifying information:
013:         * "Portions Copyrighted [year] [name of copyright owner]"
014:         * 
015:         * The Original Software is NetBeans. The Initial Developer of the Original
016:         * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
017:         * Microsystems, Inc. All Rights Reserved.
018:         */
019:
020:        /*
021:         * 
022:         * Copyright 2005 Sun Microsystems, Inc.
023:         * 
024:         * Licensed under the Apache License, Version 2.0 (the "License");
025:         * you may not use this file except in compliance with the License.
026:         * You may obtain a copy of the License at
027:         * 
028:         * 	http://www.apache.org/licenses/LICENSE-2.0
029:         * 
030:         * Unless required by applicable law or agreed to in writing, software
031:         * distributed under the License is distributed on an "AS IS" BASIS,
032:         * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
033:         * See the License for the specific language governing permissions and
034:         * limitations under the License.
035:         * 
036:         */
037:        package org.netbeans.modules.jdbcwizard.builder;
038:
039:        import java.sql.ResultSet;
040:        import java.sql.SQLException;
041:        import java.util.ArrayList;
042:        import java.util.Collections;
043:        import java.util.List;
044:
045:        import java.util.ResourceBundle;
046:        import org.openide.util.NbBundle;
047:
048:        /**
049:         * @author Jonathan Giron
050:         */
051:        public class KeyColumn {
052:            /**
053:             * DatabaseMetaData ResultSet column name used to decode name of associated primary key
054:             */
055:            protected static final String RS_KEY_NAME = "PK_NAME"; // NOI18N
056:
057:            private static final String RS_COLUMN_NAME = "COLUMN_NAME"; // NOI18N
058:
059:            /**
060:             * DatabaseMetaData ResultSet column name used to decode key sequence number
061:             */
062:            protected static final String RS_SEQUENCE_NUM = "KEY_SEQ"; // NOI18N
063:
064:            /** Name of column */
065:            protected String columnName;
066:
067:            /** Name of key associated with this column */
068:            protected String keyName;
069:
070:            /** For composite keys, sequence of this column for the associated key */
071:            protected int sequenceNum;
072:
073:            /**
074:             * Creates a List of (primary) KeyColumn instances from the given ResultSet.
075:             * 
076:             * @param rs ResultSet containing primary key metadata as obtained from DatabaseMetaData
077:             * @return List of KeyColumn instances based from metadata in rs
078:             * @throws SQLException if SQL error occurs while reading in data from given ResultSet
079:             */
080:            public static List createPrimaryKeyColumnList(final ResultSet rs,
081:                    boolean odbcflag) throws SQLException {
082:                if (rs == null) {
083:                    final ResourceBundle cMessages = NbBundle
084:                            .getBundle(KeyColumn.class);// NO i18n
085:                    throw new IllegalArgumentException(cMessages
086:                            .getString("ERROR_NULL_RS")
087:                            + "(ERROR_NULL_RS)");// NO
088:                    // i18n
089:                }
090:
091:                List pkColumns = Collections.EMPTY_LIST;
092:
093:                if (rs != null && rs.next()) {
094:                    pkColumns = new ArrayList();
095:
096:                    do {
097:                        pkColumns.add(new KeyColumn(rs, odbcflag));
098:                    } while (rs.next());
099:                }
100:
101:                return pkColumns;
102:            }
103:
104:            /**
105:             * Creates an instance of KeyColumn with the given values.
106:             * 
107:             * @param name name of key
108:             * @param column name of column
109:             * @param colSequence sequence of this column within (composite) primary key
110:             */
111:            public KeyColumn(final String name, final String column,
112:                    final int colSequence) {
113:                this .keyName = name;
114:                this .columnName = column;
115:                this .sequenceNum = colSequence;
116:            }
117:
118:            /** Creates a new instance of KeyColumn */
119:            protected KeyColumn() {
120:            }
121:
122:            private KeyColumn(final ResultSet rs, boolean odbcflag)
123:                    throws SQLException {
124:                if (rs == null) {
125:                    final ResourceBundle cMessages = NbBundle
126:                            .getBundle(KeyColumn.class);// NO i18n
127:                    throw new IllegalArgumentException(cMessages
128:                            .getString("ERROR_VALID_RS")
129:                            + "(ERROR_VALID_RS)");// NO
130:                    // i18n
131:                }
132:                // Order of the result set for odbc driver
133:                // {6=PK_NAME, 5=KEY_SEQ, 4=COLUMN_NAME, 3=TABLE_NAME, 2=TABLE_SCHEM,
134:                // 1=TABLE_CAT}
135:                if (odbcflag) {
136:                    String tablecat = rs.getString(1);
137:                    String tablesch = rs.getString(2);
138:                    String tablename = rs.getString(3);
139:                    this .columnName = rs.getString(4);
140:                    this .sequenceNum = rs.getShort(5);
141:                    this .keyName = rs.getString(6);
142:                } else {
143:                    this .keyName = rs.getString(KeyColumn.RS_KEY_NAME);
144:                    this .columnName = rs.getString(KeyColumn.RS_COLUMN_NAME);
145:                    this .sequenceNum = rs.getShort(KeyColumn.RS_SEQUENCE_NUM);
146:                }
147:            }
148:
149:            /**
150:             * Gets name of column name associate with this primary key.
151:             * 
152:             * @return name of column
153:             */
154:            public String getColumnName() {
155:                return this .columnName;
156:            }
157:
158:            /**
159:             * Gets name of primary key with which this column is associated.
160:             * 
161:             * @return name of associated PK
162:             */
163:            public String getName() {
164:                return this .keyName;
165:            }
166:
167:            /**
168:             * Gets sequence of this column within the (composite) primary key.
169:             * 
170:             * @return column sequence
171:             */
172:            public int getColumnSequence() {
173:                return this.sequenceNum;
174:            }
175:        }
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.