Methods Summary |
---|
private void | checkColRange(int col)Checks to see that the designated column is a valid column number for
the RowSet object for which this RowSetMetaDataImpl
was created. To be valid, a column number must be greater than
0 and less than or equal to the number of columns in a row.
if (col <= 0 || col > colCount) {
throw new SQLException("Invalid column index :"+col);
}
|
private void | checkColType(int SQLType)Checks to see that the given SQL type is a valid column type and throws an
SQLException object if it is not.
To be valid, a SQL type must be one of the constant values
in the java.sql.Types
class.
try {
Class c = java.sql.Types.class;
Field[] publicFields = c.getFields();
int fieldValue = 0;
for (int i = 0; i < publicFields.length; i++) {
fieldValue = publicFields[i].getInt(c);
if (fieldValue == SQLType) {
return;
}
}
} catch (Exception e) {
throw new SQLException(e.getMessage());
}
throw new SQLException("Invalid SQL type for column");
|
public java.lang.String | getCatalogName(int columnIndex)Retrieves the catalog name of the table from which the value
in the designated column was derived.
checkColRange(columnIndex);
String str ="";
if(colInfo[columnIndex].catName == null){
} else {
str = colInfo[columnIndex].catName;
}
return str;
|
public java.lang.String | getColumnClassName(int columnIndex)Retrieves the fully-qualified name of the class in the Java
programming language to which a value in the designated column
will be mapped. For example, if the value is an int ,
the class name returned by this method will be
java.lang.Integer .
If the value in the designated column has a custom mapping,
this method returns the name of the class that implements
SQLData . When the method ResultSet.getObject
is called to retrieve a value from the designated column, it will
create an instance of this class or one of its subclasses.
String className = (new String()).getClass().getName();
int sqlType = getColumnType(columnIndex);
switch (sqlType) {
case Types.NUMERIC:
case Types.DECIMAL:
className = (new java.math.BigDecimal(0)).getClass().getName ();
break;
case Types.BIT:
className = (new Boolean(false)).getClass().getName ();
break;
case Types.TINYINT:
className = (new Byte("0")).getClass().getName ();
break;
case Types.SMALLINT:
className = (new Short("0")).getClass().getName ();
break;
case Types.INTEGER:
className = (new Integer(0)).getClass().getName ();
break;
case Types.BIGINT:
className = (new Long(0)).getClass().getName ();
break;
case Types.REAL:
className = (new Float(0)).getClass().getName ();
break;
case Types.FLOAT:
case Types.DOUBLE:
className = (new Double(0)).getClass().getName();
break;
case Types.BINARY:
case Types.VARBINARY:
case Types.LONGVARBINARY:
byte[] b = {};
className = (b.getClass()).getName();
break;
case Types.DATE:
className = (new java.sql.Date(123456)).getClass().getName ();
break;
case Types.TIME:
className = (new java.sql.Time(123456)).getClass().getName ();
break;
case Types.TIMESTAMP:
className = (new java.sql.Timestamp(123456)).getClass().getName ();
break;
case Types.BLOB:
byte[] blob = {};
className = (blob.getClass()).getName();
break;
case Types.CLOB:
char[] c = {};
className = (c.getClass()).getName();
break;
}
return className;
|
public int | getColumnCount()Retrieves the number of columns in the RowSet object
for which this RowSetMetaDataImpl object was created.
return colCount;
|
public int | getColumnDisplaySize(int columnIndex)Retrieves the normal maximum width in chars of the designated column.
checkColRange(columnIndex);
return colInfo[columnIndex].columnDisplaySize;
|
public java.lang.String | getColumnLabel(int columnIndex)Retrieves the the suggested column title for the designated
column for use in printouts and displays.
checkColRange(columnIndex);
return colInfo[columnIndex].columnLabel;
|
public java.lang.String | getColumnName(int columnIndex)Retrieves the name of the designated column.
checkColRange(columnIndex);
return colInfo[columnIndex].columnName;
|
public int | getColumnType(int columnIndex)Retrieves the type code (one of the java.sql.Types
constants) for the SQL type of the value stored in the
designated column.
checkColRange(columnIndex);
return colInfo[columnIndex].colType;
|
public java.lang.String | getColumnTypeName(int columnIndex)Retrieves the DBMS-specific type name for values stored in the
designated column.
checkColRange(columnIndex);
return colInfo[columnIndex].colTypeName;
|
public int | getPrecision(int columnIndex)Retrieves the total number of digits for values stored in
the designated column.
checkColRange(columnIndex);
return colInfo[columnIndex].colPrecision;
|
public int | getScale(int columnIndex)Retrieves the number of digits to the right of the decimal point
for values stored in the designated column.
checkColRange(columnIndex);
return colInfo[columnIndex].colScale;
|
public java.lang.String | getSchemaName(int columnIndex)Retrieves the schema name of the table from which the value
in the designated column was derived.
checkColRange(columnIndex);
String str ="";
if(colInfo[columnIndex].schemaName == null){
} else {
str = colInfo[columnIndex].schemaName;
}
return str;
|
public java.lang.String | getTableName(int columnIndex)Retrieves the name of the table from which the value
in the designated column was derived.
checkColRange(columnIndex);
return colInfo[columnIndex].tableName;
|
public boolean | isAutoIncrement(int columnIndex)Retrieves whether a value stored in the designated column is
automatically numbered, and thus readonly.
checkColRange(columnIndex);
return colInfo[columnIndex].autoIncrement;
|
public boolean | isCaseSensitive(int columnIndex)Indicates whether the case of the designated column's name
matters.
checkColRange(columnIndex);
return colInfo[columnIndex].caseSensitive;
|
public boolean | isCurrency(int columnIndex)Indicates whether a value stored in the designated column
is a cash value.
checkColRange(columnIndex);
return colInfo[columnIndex].currency;
|
public boolean | isDefinitelyWritable(int columnIndex)Indicates whether a write operation on the designated column
will definitely succeed. return true;
|
public int | isNullable(int columnIndex)Retrieves a constant indicating whether it is possible
to store a NULL value in the designated column.
checkColRange(columnIndex);
return colInfo[columnIndex].nullable;
|
public boolean | isReadOnly(int columnIndex)Indicates whether the designated column is definitely
not writable, thus readonly.
checkColRange(columnIndex);
return colInfo[columnIndex].readOnly;
|
public boolean | isSearchable(int columnIndex)Indicates whether a value stored in the designated column
can be used in a WHERE clause.
checkColRange(columnIndex);
return colInfo[columnIndex].searchable;
|
public boolean | isSigned(int columnIndex)Indicates whether a value stored in the designated column is
a signed number.
checkColRange(columnIndex);
return colInfo[columnIndex].signed;
|
public boolean | isWrapperFor(java.lang.Class interfaces)Returns true if this either implements the interface argument or is directly or indirectly a wrapper
for an object that does. Returns false otherwise. If this implements the interface then return true,
else if this is a wrapper then return the result of recursively calling isWrapperFor on the wrapped
object. If this does not implement the interface and is not a wrapper, return false.
This method should be implemented as a low-cost operation compared to unwrap so that
callers can use this method to avoid expensive unwrap calls that may fail. If this method
returns true then calling unwrap with the same argument should succeed.
return false;
|
public boolean | isWritable(int columnIndex)Indicates whether it is possible for a write operation on
the designated column to succeed. A return value of
true means that a write operation may or may
not succeed.
checkColRange(columnIndex);
return colInfo[columnIndex].writable;
|
public void | setAutoIncrement(int columnIndex, boolean property)Sets whether the designated column is automatically
numbered, thus read-only, to the given boolean
value.
checkColRange(columnIndex);
colInfo[columnIndex].autoIncrement = property;
|
public void | setCaseSensitive(int columnIndex, boolean property)Sets whether the name of the designated column is case sensitive to
the given boolean .
checkColRange(columnIndex);
colInfo[columnIndex].caseSensitive = property;
|
public void | setCatalogName(int columnIndex, java.lang.String catalogName)Sets the catalog name of the table from which the designated
column was derived to catalogName. If catalogName
is null , the catalog name is set to an empty string.
checkColRange(columnIndex);
if (catalogName != null)
colInfo[columnIndex].catName = new String(catalogName);
else
colInfo[columnIndex].catName = new String("");
|
public void | setColumnCount(int columnCount)Sets to the given number the number of columns in the RowSet
object for which this RowSetMetaDataImpl object was created.
if (columnCount <= 0) {
throw new SQLException("Invalid column count. Cannot be less " +
"or equal to zero");
}
colCount = columnCount;
// If the colCount is Integer.MAX_VALUE,
// we do not initialize the colInfo object.
// even if we try to initialize the colCount with
// colCount = Integer.MAx_VALUE-1, the colInfo
// initialization fails throwing an ERROR
// OutOfMemory Exception. So we do not initialize
// colInfo at Integer.MAX_VALUE. This is to pass TCK.
if(!(colCount == Integer.MAX_VALUE)) {
colInfo = new ColInfo[colCount + 1];
for (int i=1; i <= colCount; i++) {
colInfo[i] = new ColInfo();
}
}
|
public void | setColumnDisplaySize(int columnIndex, int size)Sets the normal maximum number of chars in the designated column
to the given number.
if (size < 0) {
throw new SQLException("Invalid column display size. Cannot be less " +
"than zero");
}
checkColRange(columnIndex);
colInfo[columnIndex].columnDisplaySize = size;
|
public void | setColumnLabel(int columnIndex, java.lang.String label)Sets the suggested column label for use in printouts and
displays, if any, to label. If label is
null , the column label is set to an empty string
("").
checkColRange(columnIndex);
if (label != null) {
colInfo[columnIndex].columnLabel = new String(label);
} else {
colInfo[columnIndex].columnLabel = new String("");
}
|
public void | setColumnName(int columnIndex, java.lang.String columnName)Sets the column name of the designated column to the given name.
checkColRange(columnIndex);
if (columnName != null) {
colInfo[columnIndex].columnName = new String(columnName);
} else {
colInfo[columnIndex].columnName = new String("");
}
|
public void | setColumnType(int columnIndex, int SQLType)Sets the SQL type code for values stored in the designated column
to the given type code from the class java.sql.Types .
// examine java.sql.Type reflectively, loop on the fields and check
// this. Separate out into a private method
checkColType(SQLType);
checkColRange(columnIndex);
colInfo[columnIndex].colType = SQLType;
|
public void | setColumnTypeName(int columnIndex, java.lang.String typeName)Sets the type name used by the data source for values stored in the
designated column to the given type name.
checkColRange(columnIndex);
if (typeName != null) {
colInfo[columnIndex].colTypeName = new String(typeName);
} else {
colInfo[columnIndex].colTypeName = new String("");
}
|
public void | setCurrency(int columnIndex, boolean property)Sets whether a value stored in the designated column is a cash
value to the given boolean .
checkColRange(columnIndex);
colInfo[columnIndex].currency = property;
|
public void | setNullable(int columnIndex, int property)Sets whether a value stored in the designated column can be set
to NULL to the given constant from the interface
ResultSetMetaData .
if ((property < ResultSetMetaData.columnNoNulls) ||
property > ResultSetMetaData.columnNullableUnknown) {
throw new SQLException("Invalid nullable constant set. Must be " +
"either columnNoNulls, columnNullable or columnNullableUnknown");
}
checkColRange(columnIndex);
colInfo[columnIndex].nullable = property;
|
public void | setPrecision(int columnIndex, int precision)Sets the total number of decimal digits in a value stored in the
designated column to the given number.
if (precision < 0) {
throw new SQLException("Invalid precision value. Cannot be less " +
"than zero");
}
checkColRange(columnIndex);
colInfo[columnIndex].colPrecision = precision;
|
public void | setScale(int columnIndex, int scale)Sets the number of digits to the right of the decimal point in a value
stored in the designated column to the given number.
if (scale < 0) {
throw new SQLException("Invalid scale size. Cannot be less " +
"than zero");
}
checkColRange(columnIndex);
colInfo[columnIndex].colScale = scale;
|
public void | setSchemaName(int columnIndex, java.lang.String schemaName)Sets the designated column's table's schema name, if any, to
schemaName. If schemaName is null ,
the schema name is set to an empty string ("").
checkColRange(columnIndex);
if (schemaName != null ) {
colInfo[columnIndex].schemaName = new String(schemaName);
} else {
colInfo[columnIndex].schemaName = new String("");
}
|
public void | setSearchable(int columnIndex, boolean property)Sets whether a value stored in the designated column can be used
in a WHERE clause to the given boolean value.
checkColRange(columnIndex);
colInfo[columnIndex].searchable = property;
|
public void | setSigned(int columnIndex, boolean property)Sets whether a value stored in the designated column is a signed
number to the given boolean .
checkColRange(columnIndex);
colInfo[columnIndex].signed = property;
|
public void | setTableName(int columnIndex, java.lang.String tableName)Sets the name of the table from which the designated column
was derived to the given table name.
checkColRange(columnIndex);
if (tableName != null) {
colInfo[columnIndex].tableName = new String(tableName);
} else {
colInfo[columnIndex].tableName = new String("");
}
|
public T | unwrap(java.lang.Class iface)Returns an object that implements the given interface to allow access to non-standard methods,
or standard methods not exposed by the proxy.
The result may be either the object found to implement the interface or a proxy for that object.
If the receiver implements the interface then that is the object. If the receiver is a wrapper
and the wrapped object implements the interface then that is the object. Otherwise the object is
the result of calling unwrap recursively on the wrapped object. If the receiver is not a
wrapper and does not implement the interface, then an SQLException is thrown.
return (T)this;
|