summaryrefslogtreecommitdiffstats
path: root/luni/src/main/java/javax/sql/RowSetMetaData.java
diff options
context:
space:
mode:
Diffstat (limited to 'luni/src/main/java/javax/sql/RowSetMetaData.java')
-rw-r--r--luni/src/main/java/javax/sql/RowSetMetaData.java293
1 files changed, 293 insertions, 0 deletions
diff --git a/luni/src/main/java/javax/sql/RowSetMetaData.java b/luni/src/main/java/javax/sql/RowSetMetaData.java
new file mode 100644
index 0000000..ad07199
--- /dev/null
+++ b/luni/src/main/java/javax/sql/RowSetMetaData.java
@@ -0,0 +1,293 @@
+/*
+ * 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;
+}