001: /*
002: * JBoss, Home of Professional Open Source.
003: * Copyright 2006, Red Hat Middleware LLC, and individual contributors
004: * as indicated by the @author tags. See the copyright.txt file in the
005: * distribution for a full listing of individual contributors.
006: *
007: * This is free software; you can redistribute it and/or modify it
008: * under the terms of the GNU Lesser General Public License as
009: * published by the Free Software Foundation; either version 2.1 of
010: * the License, or (at your option) any later version.
011: *
012: * This software is distributed in the hope that it will be useful,
013: * but WITHOUT ANY WARRANTY; without even the implied warranty of
014: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
015: * Lesser General Public License for more details.
016: *
017: * You should have received a copy of the GNU Lesser General Public
018: * License along with this software; if not, write to the Free
019: * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
020: * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
021: */
022: package javax.sql;
023:
024: import java.sql.ResultSetMetaData;
025: import java.sql.SQLException;
026:
027: /**
028: * The RowSetMetaData interface extends ResultSetMetaData with methods that allow a metadata object to be initialized.
029: * A RowSetReader may create a RowSetMetaData and pass it to a rowset when new data is read.
030: */
031: public interface RowSetMetaData extends ResultSetMetaData {
032:
033: /**
034: * Specify whether the is column automatically numbered, thus read-only.
035: *
036: * @param columnIndex - the first column is 1, the second is 2, ...
037: * @param flag - is either true or false.
038: * @exception SQLException - if a database-access error occurs.
039: */
040: public void setAutoIncrement(int columnIndex, boolean flag)
041: throws SQLException;
042:
043: /**
044: * Specify whether the column is case sensitive.
045: *
046: * @param columnIndex - the first column is 1, the second is 2, ...
047: * @param flag - is either true or false.
048: * @exception SQLException - if a database-access error occurs.
049: */
050: public void setCaseSensitive(int columnIndex, boolean flag)
051: throws SQLException;
052:
053: /**
054: * Specify the column's table's catalog name, if any.
055: *
056: * @param columnIndex - the first column is 1, the second is 2, ...
057: * @param string - column's catalog name.
058: * @exception SQLException - if a database-access error occurs.
059: */
060: public void setCatalogName(int columnIndex, String string)
061: throws SQLException;
062:
063: /**
064: * Set the number of columns in the RowSet.
065: *
066: * @param i - number of columns.
067: * @exception SQLException - if a database-access error occurs.
068: */
069: public void setColumnCount(int i) throws SQLException;
070:
071: /**
072: * Specify the column's normal max width in chars.
073: *
074: * @param columnIndex - the first column is 1, the second is 2, ...
075: * @param size - size of the column
076: * @exception SQLException - if a database-access error occurs.
077: */
078: public void setColumnDisplaySize(int columnIndex, int size)
079: throws SQLException;
080:
081: /**
082: * Specify the suggested column title for use in printouts and displays, if any.
083: *
084: * @param columnIndex - the first column is 1, the second is 2, ...
085: * @param label - the column title
086: * @exception SQLException - if a database-access error occurs.
087: */
088: public void setColumnLabel(int columnIndex, String label)
089: throws SQLException;
090:
091: /**
092: * Specify the column name.
093: *
094: * @param columnIndex - the first column is 1, the second is 2, ...
095: * @param name - the column name
096: * @exception SQLException - if a database-access error occurs.
097: */
098: public void setColumnName(int columnIndex, String name)
099: throws SQLException;
100:
101: /**
102: * Specify the column's SQL type.
103: *
104: * @param columnIndex - the first column is 1, the second is 2, ...
105: * @param sqltype - column's SQL type.
106: * @exception SQLException - if a database-access error occurs.
107: */
108: public void setColumnType(int columnIndex, int sqltype)
109: throws SQLException;
110:
111: /**
112: * Specify the column's data source specific type name, if any.
113: *
114: * @param columnIndex - the first column is 1, the second is 2, ...
115: * @param sqltype - column's SQL type name.
116: * @exception SQLException - if a database-access error occurs.
117: */
118: public void setColumnTypeName(int columnIndex, String typeName)
119: throws SQLException;
120:
121: /**
122: * Specify whether the column is a cash value.
123: *
124: * @param columnIndex - the first column is 1, the second is 2, ...
125: * @param flag - is either true or false.
126: * @exception SQLException - if a database-access error occurs.
127: */
128: public void setCurrency(int columnIndex, boolean flag)
129: throws SQLException;
130:
131: /**
132: * Specify whether the column's value can be set to NULL.
133: *
134: * @param columnIndex - the first column is 1, the second is 2, ...
135: * @param property - is either true or false.
136: * @exception SQLException - if a database-access error occurs.
137: */
138: public void setNullable(int columnIndex, int property)
139: throws SQLException;
140:
141: /**
142: * Specify the column's number of decimal digits.
143: *
144: * @param columnIndex - the first column is 1, the second is 2, ...
145: * @param precision - number of decimal digits.
146: * @exception SQLException - if a database-access error occurs.
147: */
148: public void setPrecision(int columnIndex, int precision)
149: throws SQLException;
150:
151: /**
152: * Specify the column's number of digits to right of the decimal point.
153: *
154: * @param columnIndex - the first column is 1, the second is 2, ...
155: * @param scale - number of digits to right of decimal point.
156: * @exception SQLException - if a database-access error occurs.
157: */
158: public void setScale(int columnIndex, int scale)
159: throws SQLException;
160:
161: /**
162: * Specify the column's table's schema, if any.
163: *
164: * @param columnIndex - the first column is 1, the second is 2, ...
165: * @param schemaName - the schema name
166: * @exception SQLException - if a database-access error occurs.
167: */
168: public void setSchemaName(int columnIndex, String schemaName)
169: throws SQLException;
170:
171: /**
172: * Specify whether the column can be used in a where clause.
173: *
174: * @param columnIndex - the first column is 1, the second is 2, ...
175: * @param flag - is either true or false.
176: * @exception SQLException - if a database-access error occurs.
177: */
178: public void setSearchable(int columnIndex, boolean flag)
179: throws SQLException;
180:
181: /**
182: * Specify whether the column is a signed number.
183: *
184: * @param columnIndex - the first column is 1, the second is 2, ...
185: * @param flag - is either true or false.
186: * @exception SQLException - if a database-access error occurs.
187: */
188: public void setSigned(int columnIndex, boolean flag)
189: throws SQLException;
190:
191: /**
192: * Specify the column's table name, if any.
193: *
194: * @param columnIndex - the first column is 1, the second is 2, ...
195: * @param tableName - column's table name.
196: * @exception SQLException - if a database-access error occurs.
197: */
198: public void setTableName(int columnIndex, String tableName)
199: throws SQLException;
200: }
|