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 | 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("");
}
|