157 * implementation may not be feasible. 158 * @return <code>true</code> if this driver is JDBC Compliant; <code>false</code> 159 * otherwise 160 */ 161 boolean jdbcCompliant(); 162 163 //------------------------- JDBC 4.1 ----------------------------------- 164 165 /** 166 * Return the parent Logger of all the Loggers used by this driver. This 167 * should be the Logger farthest from the root Logger that is 168 * still an ancestor of all of the Loggers used by this driver. Configuring 169 * this Logger will affect all of the log messages generated by the driver. 170 * In the worst case, this may be the root Logger. 171 * 172 * @return the parent Logger for this driver 173 * @throws SQLFeatureNotSupportedException if the driver does not use <code>java.util.logging<code>. 174 * @since 1.7 175 */ 176 public Logger getParentLogger() throws SQLFeatureNotSupportedException; 177 } | 157 * implementation may not be feasible. 158 * @return <code>true</code> if this driver is JDBC Compliant; <code>false</code> 159 * otherwise 160 */ 161 boolean jdbcCompliant(); 162 163 //------------------------- JDBC 4.1 ----------------------------------- 164 165 /** 166 * Return the parent Logger of all the Loggers used by this driver. This 167 * should be the Logger farthest from the root Logger that is 168 * still an ancestor of all of the Loggers used by this driver. Configuring 169 * this Logger will affect all of the log messages generated by the driver. 170 * In the worst case, this may be the root Logger. 171 * 172 * @return the parent Logger for this driver 173 * @throws SQLFeatureNotSupportedException if the driver does not use <code>java.util.logging<code>. 174 * @since 1.7 175 */ 176 public Logger getParentLogger() throws SQLFeatureNotSupportedException; 177 178 //------------------------- JDBC 4.2 ----------------------------------- 179 180 /** 181 * Releases any resources that the driver may hold. This method is called by 182 * {@linkplain DriverManager#deregisterDriver} 183 * <p> 184 * The default implementation will be a no-op 185 * <p> 186 * If a security manager exists and its {@code checkPermission} denies 187 * permission, then a {@code SecurityException} will be thrown. 188 * @throws SecurityException if a security manager exists and its 189 * {@code checkPermission} method denies permission to deregister a driver. 190 * 191 * @see SecurityManager#checkPermission 192 * @see DriverManager#deregisterDriver 193 * @since 1.8 194 */ 195 default void deregisterDriver() { 196 // Default method takes no action 197 } 198 } |