src/java.sql/share/classes/java/sql/ResultSetMetaData.java
author darcy
Thu, 01 Nov 2018 20:37:45 -0700
changeset 52380 6b31efbf833e
parent 47216 71c04702a3d5
permissions -rw-r--r--
6304578: (reflect) toGenericString fails to print bounds of type variables on generic methods Reviewed-by: vromero, plevart, briangoetz, mcimadamore
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     1
/*
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2
diff changeset
     2
 * Copyright (c) 1996, 2005, Oracle and/or its affiliates. All rights reserved.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     4
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
90ce3da70b43 Initial load
duke
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2
diff changeset
     7
 * published by the Free Software Foundation.  Oracle designates this
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     8
 * particular file as subject to the "Classpath" exception as provided
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2
diff changeset
     9
 * by Oracle in the LICENSE file that accompanied this code.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    10
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    11
 * This code is distributed in the hope that it will be useful, but WITHOUT
90ce3da70b43 Initial load
duke
parents:
diff changeset
    12
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
90ce3da70b43 Initial load
duke
parents:
diff changeset
    13
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
90ce3da70b43 Initial load
duke
parents:
diff changeset
    14
 * version 2 for more details (a copy is included in the LICENSE file that
90ce3da70b43 Initial load
duke
parents:
diff changeset
    15
 * accompanied this code).
90ce3da70b43 Initial load
duke
parents:
diff changeset
    16
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    17
 * You should have received a copy of the GNU General Public License version
90ce3da70b43 Initial load
duke
parents:
diff changeset
    18
 * 2 along with this work; if not, write to the Free Software Foundation,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    19
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    20
 *
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2
diff changeset
    21
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2
diff changeset
    22
 * or visit www.oracle.com if you need additional information or have any
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2
diff changeset
    23
 * questions.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    24
 */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    25
90ce3da70b43 Initial load
duke
parents:
diff changeset
    26
package java.sql;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    27
90ce3da70b43 Initial load
duke
parents:
diff changeset
    28
/**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    29
 * An object that can be used to get information about the types
90ce3da70b43 Initial load
duke
parents:
diff changeset
    30
 * and properties of the columns in a <code>ResultSet</code> object.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    31
 * The following code fragment creates the <code>ResultSet</code> object rs,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    32
 * creates the <code>ResultSetMetaData</code> object rsmd, and uses rsmd
90ce3da70b43 Initial load
duke
parents:
diff changeset
    33
 * to find out how many columns rs has and whether the first column in rs
90ce3da70b43 Initial load
duke
parents:
diff changeset
    34
 * can be used in a <code>WHERE</code> clause.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    35
 * <PRE>
90ce3da70b43 Initial load
duke
parents:
diff changeset
    36
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    37
 *     ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM TABLE2");
90ce3da70b43 Initial load
duke
parents:
diff changeset
    38
 *     ResultSetMetaData rsmd = rs.getMetaData();
90ce3da70b43 Initial load
duke
parents:
diff changeset
    39
 *     int numberOfColumns = rsmd.getColumnCount();
90ce3da70b43 Initial load
duke
parents:
diff changeset
    40
 *     boolean b = rsmd.isSearchable(1);
90ce3da70b43 Initial load
duke
parents:
diff changeset
    41
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    42
 * </PRE>
44256
12050b22e372 8176721: @since value errors java.sql module
mli
parents: 25859
diff changeset
    43
 *
12050b22e372 8176721: @since value errors java.sql module
mli
parents: 25859
diff changeset
    44
 * @since 1.1
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    45
 */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    46
90ce3da70b43 Initial load
duke
parents:
diff changeset
    47
public interface ResultSetMetaData extends Wrapper {
90ce3da70b43 Initial load
duke
parents:
diff changeset
    48
90ce3da70b43 Initial load
duke
parents:
diff changeset
    49
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    50
     * Returns the number of columns in this <code>ResultSet</code> object.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    51
     *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    52
     * @return the number of columns
90ce3da70b43 Initial load
duke
parents:
diff changeset
    53
     * @exception SQLException if a database access error occurs
90ce3da70b43 Initial load
duke
parents:
diff changeset
    54
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    55
    int getColumnCount() throws SQLException;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    56
90ce3da70b43 Initial load
duke
parents:
diff changeset
    57
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    58
     * Indicates whether the designated column is automatically numbered.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    59
     *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    60
     * @param column the first column is 1, the second is 2, ...
90ce3da70b43 Initial load
duke
parents:
diff changeset
    61
     * @return <code>true</code> if so; <code>false</code> otherwise
90ce3da70b43 Initial load
duke
parents:
diff changeset
    62
     * @exception SQLException if a database access error occurs
90ce3da70b43 Initial load
duke
parents:
diff changeset
    63
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    64
    boolean isAutoIncrement(int column) throws SQLException;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    65
90ce3da70b43 Initial load
duke
parents:
diff changeset
    66
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    67
     * Indicates whether a column's case matters.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    68
     *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    69
     * @param column the first column is 1, the second is 2, ...
90ce3da70b43 Initial load
duke
parents:
diff changeset
    70
     * @return <code>true</code> if so; <code>false</code> otherwise
90ce3da70b43 Initial load
duke
parents:
diff changeset
    71
     * @exception SQLException if a database access error occurs
90ce3da70b43 Initial load
duke
parents:
diff changeset
    72
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    73
    boolean isCaseSensitive(int column) throws SQLException;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    74
90ce3da70b43 Initial load
duke
parents:
diff changeset
    75
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    76
     * Indicates whether the designated column can be used in a where clause.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    77
     *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    78
     * @param column the first column is 1, the second is 2, ...
90ce3da70b43 Initial load
duke
parents:
diff changeset
    79
     * @return <code>true</code> if so; <code>false</code> otherwise
90ce3da70b43 Initial load
duke
parents:
diff changeset
    80
     * @exception SQLException if a database access error occurs
90ce3da70b43 Initial load
duke
parents:
diff changeset
    81
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    82
    boolean isSearchable(int column) throws SQLException;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    83
90ce3da70b43 Initial load
duke
parents:
diff changeset
    84
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    85
     * Indicates whether the designated column is a cash value.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    86
     *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    87
     * @param column the first column is 1, the second is 2, ...
90ce3da70b43 Initial load
duke
parents:
diff changeset
    88
     * @return <code>true</code> if so; <code>false</code> otherwise
90ce3da70b43 Initial load
duke
parents:
diff changeset
    89
     * @exception SQLException if a database access error occurs
90ce3da70b43 Initial load
duke
parents:
diff changeset
    90
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    91
    boolean isCurrency(int column) throws SQLException;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    92
90ce3da70b43 Initial load
duke
parents:
diff changeset
    93
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    94
     * Indicates the nullability of values in the designated column.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    95
     *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    96
     * @param column the first column is 1, the second is 2, ...
90ce3da70b43 Initial load
duke
parents:
diff changeset
    97
     * @return the nullability status of the given column; one of <code>columnNoNulls</code>,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    98
     *          <code>columnNullable</code> or <code>columnNullableUnknown</code>
90ce3da70b43 Initial load
duke
parents:
diff changeset
    99
     * @exception SQLException if a database access error occurs
90ce3da70b43 Initial load
duke
parents:
diff changeset
   100
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   101
    int isNullable(int column) throws SQLException;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   102
90ce3da70b43 Initial load
duke
parents:
diff changeset
   103
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   104
     * The constant indicating that a
90ce3da70b43 Initial load
duke
parents:
diff changeset
   105
     * column does not allow <code>NULL</code> values.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   106
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   107
    int columnNoNulls = 0;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   108
90ce3da70b43 Initial load
duke
parents:
diff changeset
   109
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   110
     * The constant indicating that a
90ce3da70b43 Initial load
duke
parents:
diff changeset
   111
     * column allows <code>NULL</code> values.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   112
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   113
    int columnNullable = 1;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   114
90ce3da70b43 Initial load
duke
parents:
diff changeset
   115
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   116
     * The constant indicating that the
90ce3da70b43 Initial load
duke
parents:
diff changeset
   117
     * nullability of a column's values is unknown.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   118
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   119
    int columnNullableUnknown = 2;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   120
90ce3da70b43 Initial load
duke
parents:
diff changeset
   121
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   122
     * Indicates whether values in the designated column are signed numbers.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   123
     *
90ce3da70b43 Initial load
duke
parents:
diff changeset
   124
     * @param column the first column is 1, the second is 2, ...
90ce3da70b43 Initial load
duke
parents:
diff changeset
   125
     * @return <code>true</code> if so; <code>false</code> otherwise
90ce3da70b43 Initial load
duke
parents:
diff changeset
   126
     * @exception SQLException if a database access error occurs
90ce3da70b43 Initial load
duke
parents:
diff changeset
   127
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   128
    boolean isSigned(int column) throws SQLException;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   129
90ce3da70b43 Initial load
duke
parents:
diff changeset
   130
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   131
     * Indicates the designated column's normal maximum width in characters.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   132
     *
90ce3da70b43 Initial load
duke
parents:
diff changeset
   133
     * @param column the first column is 1, the second is 2, ...
90ce3da70b43 Initial load
duke
parents:
diff changeset
   134
     * @return the normal maximum number of characters allowed as the width
90ce3da70b43 Initial load
duke
parents:
diff changeset
   135
     *          of the designated column
90ce3da70b43 Initial load
duke
parents:
diff changeset
   136
     * @exception SQLException if a database access error occurs
90ce3da70b43 Initial load
duke
parents:
diff changeset
   137
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   138
    int getColumnDisplaySize(int column) throws SQLException;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   139
90ce3da70b43 Initial load
duke
parents:
diff changeset
   140
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   141
     * Gets the designated column's suggested title for use in printouts and
90ce3da70b43 Initial load
duke
parents:
diff changeset
   142
     * displays. The suggested title is usually specified by the SQL <code>AS</code>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   143
     * clause.  If a SQL <code>AS</code> is not specified, the value returned from
90ce3da70b43 Initial load
duke
parents:
diff changeset
   144
     * <code>getColumnLabel</code> will be the same as the value returned by the
90ce3da70b43 Initial load
duke
parents:
diff changeset
   145
     * <code>getColumnName</code> method.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   146
     *
90ce3da70b43 Initial load
duke
parents:
diff changeset
   147
     * @param column the first column is 1, the second is 2, ...
90ce3da70b43 Initial load
duke
parents:
diff changeset
   148
     * @return the suggested column title
90ce3da70b43 Initial load
duke
parents:
diff changeset
   149
     * @exception SQLException if a database access error occurs
90ce3da70b43 Initial load
duke
parents:
diff changeset
   150
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   151
    String getColumnLabel(int column) throws SQLException;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   152
90ce3da70b43 Initial load
duke
parents:
diff changeset
   153
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   154
     * Get the designated column's name.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   155
     *
90ce3da70b43 Initial load
duke
parents:
diff changeset
   156
     * @param column the first column is 1, the second is 2, ...
90ce3da70b43 Initial load
duke
parents:
diff changeset
   157
     * @return column name
90ce3da70b43 Initial load
duke
parents:
diff changeset
   158
     * @exception SQLException if a database access error occurs
90ce3da70b43 Initial load
duke
parents:
diff changeset
   159
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   160
    String getColumnName(int column) throws SQLException;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   161
90ce3da70b43 Initial load
duke
parents:
diff changeset
   162
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   163
     * Get the designated column's table's schema.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   164
     *
90ce3da70b43 Initial load
duke
parents:
diff changeset
   165
     * @param column the first column is 1, the second is 2, ...
90ce3da70b43 Initial load
duke
parents:
diff changeset
   166
     * @return schema name or "" if not applicable
90ce3da70b43 Initial load
duke
parents:
diff changeset
   167
     * @exception SQLException if a database access error occurs
90ce3da70b43 Initial load
duke
parents:
diff changeset
   168
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   169
    String getSchemaName(int column) throws SQLException;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   170
90ce3da70b43 Initial load
duke
parents:
diff changeset
   171
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   172
     * Get the designated column's specified column size.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   173
     * For numeric data, this is the maximum precision.  For character data, this is the length in characters.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   174
     * For datetime datatypes, this is the length in characters of the String representation (assuming the
90ce3da70b43 Initial load
duke
parents:
diff changeset
   175
     * maximum allowed precision of the fractional seconds component). For binary data, this is the length in bytes.  For the ROWID datatype,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   176
     * this is the length in bytes. 0 is returned for data types where the
90ce3da70b43 Initial load
duke
parents:
diff changeset
   177
     * column size is not applicable.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   178
     *
90ce3da70b43 Initial load
duke
parents:
diff changeset
   179
     * @param column the first column is 1, the second is 2, ...
90ce3da70b43 Initial load
duke
parents:
diff changeset
   180
     * @return precision
90ce3da70b43 Initial load
duke
parents:
diff changeset
   181
     * @exception SQLException if a database access error occurs
90ce3da70b43 Initial load
duke
parents:
diff changeset
   182
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   183
    int getPrecision(int column) throws SQLException;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   184
90ce3da70b43 Initial load
duke
parents:
diff changeset
   185
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   186
     * Gets the designated column's number of digits to right of the decimal point.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   187
     * 0 is returned for data types where the scale is not applicable.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   188
     *
90ce3da70b43 Initial load
duke
parents:
diff changeset
   189
     * @param column the first column is 1, the second is 2, ...
90ce3da70b43 Initial load
duke
parents:
diff changeset
   190
     * @return scale
90ce3da70b43 Initial load
duke
parents:
diff changeset
   191
     * @exception SQLException if a database access error occurs
90ce3da70b43 Initial load
duke
parents:
diff changeset
   192
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   193
    int getScale(int column) throws SQLException;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   194
90ce3da70b43 Initial load
duke
parents:
diff changeset
   195
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   196
     * Gets the designated column's table name.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   197
     *
90ce3da70b43 Initial load
duke
parents:
diff changeset
   198
     * @param column the first column is 1, the second is 2, ...
90ce3da70b43 Initial load
duke
parents:
diff changeset
   199
     * @return table name or "" if not applicable
90ce3da70b43 Initial load
duke
parents:
diff changeset
   200
     * @exception SQLException if a database access error occurs
90ce3da70b43 Initial load
duke
parents:
diff changeset
   201
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   202
    String getTableName(int column) throws SQLException;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   203
90ce3da70b43 Initial load
duke
parents:
diff changeset
   204
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   205
     * Gets the designated column's table's catalog name.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   206
     *
90ce3da70b43 Initial load
duke
parents:
diff changeset
   207
     * @param column the first column is 1, the second is 2, ...
90ce3da70b43 Initial load
duke
parents:
diff changeset
   208
     * @return the name of the catalog for the table in which the given column
90ce3da70b43 Initial load
duke
parents:
diff changeset
   209
     *          appears or "" if not applicable
90ce3da70b43 Initial load
duke
parents:
diff changeset
   210
     * @exception SQLException if a database access error occurs
90ce3da70b43 Initial load
duke
parents:
diff changeset
   211
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   212
    String getCatalogName(int column) throws SQLException;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   213
90ce3da70b43 Initial load
duke
parents:
diff changeset
   214
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   215
     * Retrieves the designated column's SQL type.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   216
     *
90ce3da70b43 Initial load
duke
parents:
diff changeset
   217
     * @param column the first column is 1, the second is 2, ...
90ce3da70b43 Initial load
duke
parents:
diff changeset
   218
     * @return SQL type from java.sql.Types
90ce3da70b43 Initial load
duke
parents:
diff changeset
   219
     * @exception SQLException if a database access error occurs
90ce3da70b43 Initial load
duke
parents:
diff changeset
   220
     * @see Types
90ce3da70b43 Initial load
duke
parents:
diff changeset
   221
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   222
    int getColumnType(int column) throws SQLException;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   223
90ce3da70b43 Initial load
duke
parents:
diff changeset
   224
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   225
     * Retrieves the designated column's database-specific type name.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   226
     *
90ce3da70b43 Initial load
duke
parents:
diff changeset
   227
     * @param column the first column is 1, the second is 2, ...
90ce3da70b43 Initial load
duke
parents:
diff changeset
   228
     * @return type name used by the database. If the column type is
90ce3da70b43 Initial load
duke
parents:
diff changeset
   229
     * a user-defined type, then a fully-qualified type name is returned.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   230
     * @exception SQLException if a database access error occurs
90ce3da70b43 Initial load
duke
parents:
diff changeset
   231
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   232
    String getColumnTypeName(int column) throws SQLException;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   233
90ce3da70b43 Initial load
duke
parents:
diff changeset
   234
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   235
     * Indicates whether the designated column is definitely not writable.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   236
     *
90ce3da70b43 Initial load
duke
parents:
diff changeset
   237
     * @param column the first column is 1, the second is 2, ...
90ce3da70b43 Initial load
duke
parents:
diff changeset
   238
     * @return <code>true</code> if so; <code>false</code> otherwise
90ce3da70b43 Initial load
duke
parents:
diff changeset
   239
     * @exception SQLException if a database access error occurs
90ce3da70b43 Initial load
duke
parents:
diff changeset
   240
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   241
    boolean isReadOnly(int column) throws SQLException;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   242
90ce3da70b43 Initial load
duke
parents:
diff changeset
   243
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   244
     * Indicates whether it is possible for a write on the designated column to succeed.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   245
     *
90ce3da70b43 Initial load
duke
parents:
diff changeset
   246
     * @param column the first column is 1, the second is 2, ...
90ce3da70b43 Initial load
duke
parents:
diff changeset
   247
     * @return <code>true</code> if so; <code>false</code> otherwise
90ce3da70b43 Initial load
duke
parents:
diff changeset
   248
     * @exception SQLException if a database access error occurs
90ce3da70b43 Initial load
duke
parents:
diff changeset
   249
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   250
    boolean isWritable(int column) throws SQLException;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   251
90ce3da70b43 Initial load
duke
parents:
diff changeset
   252
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   253
     * Indicates whether a write on the designated column will definitely succeed.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   254
     *
90ce3da70b43 Initial load
duke
parents:
diff changeset
   255
     * @param column the first column is 1, the second is 2, ...
90ce3da70b43 Initial load
duke
parents:
diff changeset
   256
     * @return <code>true</code> if so; <code>false</code> otherwise
90ce3da70b43 Initial load
duke
parents:
diff changeset
   257
     * @exception SQLException if a database access error occurs
90ce3da70b43 Initial load
duke
parents:
diff changeset
   258
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   259
    boolean isDefinitelyWritable(int column) throws SQLException;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   260
90ce3da70b43 Initial load
duke
parents:
diff changeset
   261
    //--------------------------JDBC 2.0-----------------------------------
90ce3da70b43 Initial load
duke
parents:
diff changeset
   262
90ce3da70b43 Initial load
duke
parents:
diff changeset
   263
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
   264
     * <p>Returns the fully-qualified name of the Java class whose instances
90ce3da70b43 Initial load
duke
parents:
diff changeset
   265
     * are manufactured if the method <code>ResultSet.getObject</code>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   266
     * is called to retrieve a value
90ce3da70b43 Initial load
duke
parents:
diff changeset
   267
     * from the column.  <code>ResultSet.getObject</code> may return a subclass of the
90ce3da70b43 Initial load
duke
parents:
diff changeset
   268
     * class returned by this method.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   269
     *
90ce3da70b43 Initial load
duke
parents:
diff changeset
   270
     * @param column the first column is 1, the second is 2, ...
90ce3da70b43 Initial load
duke
parents:
diff changeset
   271
     * @return the fully-qualified name of the class in the Java programming
90ce3da70b43 Initial load
duke
parents:
diff changeset
   272
     *         language that would be used by the method
90ce3da70b43 Initial load
duke
parents:
diff changeset
   273
     * <code>ResultSet.getObject</code> to retrieve the value in the specified
90ce3da70b43 Initial load
duke
parents:
diff changeset
   274
     * column. This is the class name used for custom mapping.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   275
     * @exception SQLException if a database access error occurs
90ce3da70b43 Initial load
duke
parents:
diff changeset
   276
     * @since 1.2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   277
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   278
    String getColumnClassName(int column) throws SQLException;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   279
}