* @exception SQLClientInfoException unless properties parameter
* is null or empty
*/
public void setClientInfo(Properties properties)
throws SQLClientInfoException {
FailedProperties40 fp = new FailedProperties40(properties);
try { checkIfClosed(); }
catch (SQLException se) {
throw new SQLClientInfoException(se.getMessage(), se.getSQLState(),
se.getErrorCode(), fp.getProperties());
}
// Allow null to simplify compliance testing through
// reflection, (test all methods in an interface with null
// arguments)
// An empty properties object is meaningless, but allowed
if (properties == null || properties.isEmpty()) {
return;
}
StandardException se =
StandardException.newException
(SQLState.PROPERTY_UNSUPPORTED_CHANGE,
fp.getFirstKey(),
fp.getFirstValue());
throw new SQLClientInfoException(se.getMessage(),
se.getSQLState(),
se.getErrorCode(),
fp.getProperties());
}