blob: 196c8b9aac6ee56e13d4bf76d4678a9b5011e31c [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package javax.sql;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
/**
* An interface which provides facilities for getting information about the
* columns in a {@code RowSet}.
* <p>
* {@code RowSetMetaData} extends {@link java.sql.ResultSetMetaData}, adding new
* operations for carrying out value sets.
* <p>
* Application code would not normally call this interface directly. It would be
* called internally when {@code RowSet.execute} is called.
*
* @see RowSetInternal#setMetaData(RowSetMetaData)
*/
public interface RowSetMetaData extends ResultSetMetaData {
/**
* Sets automatic numbering for a specified column in the {@code RowSet}. If
* automatic numbering is on, the column is read-only. The default value for
* the auto increment parameter is {@code false}.
*
* @param columnIndex
* the index number for the column; the first column's index is
* 1.
* @param autoIncrement
* {@code true} to set automatic numbering on, {@code false} to
* turn it off (default).
* @throws SQLException
* if a problem occurs accessing the database.
*/
public void setAutoIncrement(int columnIndex, boolean autoIncrement)
throws SQLException;
/**
* Sets the case sensitive property for a specified column in the {@code
* RowSet}. The default is that the column is not case sensitive.
*
* @param columnIndex
* the index number for the column; the first column's index is
* 1.
* @param caseSensitive
* {@code true} to make the column case sensitive, {@code false}
* to make it case insensitive (default).
* @throws SQLException
* if a problem occurs accessing the database.
*/
public void setCaseSensitive(int columnIndex, boolean caseSensitive)
throws SQLException;
/**
* Sets the catalog name for a specified column in the {@code RowSet}.
*
* @param columnIndex
* the index number for the column; the first column's index is
* 1.
* @param catalogName
* the new catalog's name.
* @throws SQLException
* if a problem occurs accessing the database.
*/
public void setCatalogName(int columnIndex, String catalogName)
throws SQLException;
/**
* Sets the number of columns contained in the row set.
*
* @param columnCount
* the number of columns contained in the {@code RowSet}.
* @throws SQLException
* if a problem occurs accessing the database.
*/
public void setColumnCount(int columnCount) throws SQLException;
/**
* Sets the normal maximum width in characters for a specified column in the
* {@code RowSet}.
*
* @param columnIndex
* the index number for the column; the first column's index is
* 1.
* @param displaySize
* the normal maximum column width in characters.
* @throws SQLException
* if a problem occurs accessing the database.
*/
public void setColumnDisplaySize(int columnIndex, int displaySize)
throws SQLException;
/**
* Sets the suggested name as label for the column contained in the {@code
* RowSet}. The label is an alias for printing and displaying purposes.
*
* @param columnIndex
* the index number for the column; the first column's index is
* 1.
* @param theLabel
* the alias name for the column.
* @throws SQLException
* if a problem occurs accessing the database.
*/
public void setColumnLabel(int columnIndex, String theLabel)
throws SQLException;
/**
* Sets the column name for a specified column in the {@code RowSet}.
*
* @param columnIndex
* the index number for the column; the first column's index is
* 1.
* @param theColumnName
* the column's label.
* @throws SQLException
* if a problem occurs accessing the database.
*/
public void setColumnName(int columnIndex, String theColumnName)
throws SQLException;
/**
* Sets the SQL type for a specified column in the {@code RowSet}.
*
* @param columnIndex
* the index number for the column; the first column's index is
* 1.
* @param theSQLType
* the SQL Type, as defined by {@code java.sql.Types}.
* @throws SQLException
* if a problem occurs accessing the database.
*/
public void setColumnType(int columnIndex, int theSQLType)
throws SQLException;
/**
* Sets the type name for a specified column in the {@code RowSet}, where
* the data type is specific to the data source.
*
* @param columnIndex
* the index number for the column; the first column's index is
* 1.
* @param theTypeName
* the SQL type name for the column.
* @throws SQLException
* if a problem occurs accessing the database.
*/
public void setColumnTypeName(int columnIndex, String theTypeName)
throws SQLException;
/**
* Sets whether a specified column is a currency value. The default value is
* {@code false}.
*
* @param columnIndex
* the index number for the column; the first column's index is
* 1.
* @param isCurrency
* {@code true} if the column should be treated as a currency
* value, {@code false} if it should not be treated as a currency
* value (default).
* @throws SQLException
* if a problem occurs accessing the database.
*/
public void setCurrency(int columnIndex, boolean isCurrency)
throws SQLException;
/**
* Sets whether a specified column can contain SQL {@code NULL} values.
*
* @param columnIndex
* the index number for the column; the first column's index is
* 1.
* @param nullability
* an integer which is one of the following values:
* <ul>
* <li>{@code ResultSetMetaData.columnNoNulls}</li>
* <li>{@code ResultSetMetaData.columnNullable}</li>
* <li>{@code ResultSetMetaData.columnNullableUnknown}</li>
* </ul>
* <p>
* The default value is {@code
* ResultSetMetaData.columnNullableUnknown}.
* @throws SQLException
* if a problem occurs accessing the database.
*/
public void setNullable(int columnIndex, int nullability)
throws SQLException;
/**
* Sets the number of decimal digits for a specified column in the {@code
* RowSet}.
*
* @param columnIndex
* the index number for the column; the first column's index is
* 1.
* @param thePrecision
* the number of decimal digits.
* @throws SQLException
* if a problem occurs accessing the database.
*/
public void setPrecision(int columnIndex, int thePrecision)
throws SQLException;
/**
* Declares how many decimal digits there should be after a decimal point
* for the column specified by {@code columnIndex}.
*
* @param columnIndex
* the index number for the column; the first column's index is
* 1.
* @param theScale
* the number of digits after the decimal point.
* @throws SQLException
* if a problem occurs accessing the database.
*/
public void setScale(int columnIndex, int theScale) throws SQLException;
/**
* Sets the schema name for a specified column in the {@code RowSet}.
*
* @param columnIndex
* the index number for the column; the first column's index is
* 1.
* @param theSchemaName
* a {@code String} containing the schema name.
* @throws SQLException
* if a problem occurs accessing the database.
*/
public void setSchemaName(int columnIndex, String theSchemaName)
throws SQLException;
/**
* Sets whether a specified column can be used in a search involving a
* {@code WHERE} clause. The default value is {@code false}.
*
* @param columnIndex
* the index number for the column; the first column's index is
* 1.
* @param isSearchable
* {@code true} of the column can be used in a {@code WHERE}
* clause search, {@code false} otherwise.
* @throws SQLException
* if a problem occurs accessing the database.
*/
public void setSearchable(int columnIndex, boolean isSearchable)
throws SQLException;
/**
* Sets if a specified column can contain signed numbers.
*
* @param columnIndex
* the index number for the column; the first column's index is
* 1.
* @param isSigned
* {@code true} if the column can contain signed numbers, {@code
* false} otherwise.
* @throws SQLException
* if a problem occurs accessing the database.
*/
public void setSigned(int columnIndex, boolean isSigned)
throws SQLException;
/**
* Sets the table name for a specified column in the {@code RowSet}.
*
* @param columnIndex
* the index number for the column; the first column's index is
* 1.
* @param theTableName
* the table name for the column.
* @throws SQLException
* if a problem occurs accessing the database.
*/
public void setTableName(int columnIndex, String theTableName)
throws SQLException;
}