test_class.file: bonecp/src/test/java/com/jolbox/bonecp/TestPoolUtil.java
test_class.identifier: TestPoolUtil
test_case.body: @Test
  	public void testGenerateException(){
  		assertNotNull(PoolUtil.generateSQLException("foo", new SQLException()));
  		PoolUtil.sqlExceptionClass = Throwable.class;
  		assertNotNull(PoolUtil.generateSQLException("foo", new SQLException()));
  	}
test_case.class_method_signature: TestPoolUtil.testGenerateException()
test_case.full_signature: @Test public void testGenerateException()
test_case.identifier: testGenerateException
test_case.invocations: assertNotNull generateSQLException assertNotNull generateSQLException
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testGenerateException()
focal_class.declarator: sqlExceptionClass
focal_class.modifier: protected static
focal_class.original_string: protected static Class<Throwable> sqlExceptionClass;
focal_class.type: Class<Throwable>
focal_class.var_name: sqlExceptionClass
focal_class.declarator: exceptionClass = "java.sql.SQLException"
focal_class.modifier: private static final
focal_class.original_string: private static final String exceptionClass = "java.sql.SQLException";
focal_class.type: String
focal_class.var_name: exceptionClass
focal_class.file: bonecp/src/main/java/com/jolbox/bonecp/PoolUtil.java
focal_class.identifier: PoolUtil
focal_class.class_method_signature: PoolUtil.fillLogParams(String sql, Map<Object, Object> logParams)
focal_class.full_signature: public static String fillLogParams(String sql, Map<Object, Object> logParams)
focal_class.identifier: fillLogParams
focal_class.modifiers: public static
focal_class.parameters: (String sql, Map<Object, Object> logParams)
focal_class.return: String
focal_class.signature: String fillLogParams(String sql, Map<Object, Object> logParams)
focal_class.class_method_signature: PoolUtil.safePrint(Object... o)
focal_class.full_signature: protected static String safePrint(Object... o)
focal_class.identifier: safePrint
focal_class.modifiers: protected static
focal_class.parameters: (Object... o)
focal_class.return: String
focal_class.signature: String safePrint(Object... o)
focal_class.class_method_signature: PoolUtil.prettyPrint(Object obj)
focal_class.full_signature: protected static String prettyPrint(Object obj)
focal_class.identifier: prettyPrint
focal_class.modifiers: protected static
focal_class.parameters: (Object obj)
focal_class.return: String
focal_class.signature: String prettyPrint(Object obj)
focal_class.class_method_signature: PoolUtil.formatLogParam(Blob obj)
focal_class.full_signature: private static String formatLogParam(Blob obj)
focal_class.identifier: formatLogParam
focal_class.modifiers: private static
focal_class.parameters: (Blob obj)
focal_class.return: String
focal_class.signature: String formatLogParam(Blob obj)
focal_class.class_method_signature: PoolUtil.formatLogParam(Clob obj)
focal_class.full_signature: private static String formatLogParam(Clob obj)
focal_class.identifier: formatLogParam
focal_class.modifiers: private static
focal_class.parameters: (Clob obj)
focal_class.return: String
focal_class.signature: String formatLogParam(Clob obj)
focal_class.class_method_signature: PoolUtil.formatLogParam(Array obj)
focal_class.full_signature: private static String formatLogParam(Array obj)
focal_class.identifier: formatLogParam
focal_class.modifiers: private static
focal_class.parameters: (Array obj)
focal_class.return: String
focal_class.signature: String formatLogParam(Array obj)
focal_class.class_method_signature: PoolUtil.formatLogParam(Ref obj)
focal_class.full_signature: private static String formatLogParam(Ref obj)
focal_class.identifier: formatLogParam
focal_class.modifiers: private static
focal_class.parameters: (Ref obj)
focal_class.return: String
focal_class.signature: String formatLogParam(Ref obj)
focal_class.class_method_signature: PoolUtil.stringifyException(Throwable t)
focal_class.full_signature: public static String stringifyException(Throwable t)
focal_class.identifier: stringifyException
focal_class.modifiers: public static
focal_class.parameters: (Throwable t)
focal_class.return: String
focal_class.signature: String stringifyException(Throwable t)
focal_class.class_method_signature: PoolUtil.generateSQLException(String reason, Throwable t)
focal_class.full_signature: public static SQLException generateSQLException(String reason, Throwable t)
focal_class.identifier: generateSQLException
focal_class.modifiers: public static
focal_class.parameters: (String reason, Throwable t)
focal_class.return: SQLException
focal_class.signature: SQLException generateSQLException(String reason, Throwable t)
focal_method.body: public static SQLException generateSQLException(String reason, Throwable t) {
  		// slow, but this is for very exceptional cases only
  		try {
  			// try JDK6/7 style constructor
  			if (sqlExceptionClass == null){ // yes there's a chance this can race but nothing bad happens except for a performance hit...
  				sqlExceptionClass = (Class<Throwable>) Class.forName(exceptionClass);
  			}
  
  				return (SQLException)sqlExceptionClass.getConstructor(String.class, Throwable.class).newInstance(reason, t);
  		} catch (Exception e) {
  			// fallback to JDK5
  			return new SQLException(PoolUtil.stringifyException(t));
  		}
  
  	}
focal_method.class_method_signature: PoolUtil.generateSQLException(String reason, Throwable t)
focal_method.full_signature: public static SQLException generateSQLException(String reason, Throwable t)
focal_method.identifier: generateSQLException
focal_method.invocations: forName newInstance getConstructor stringifyException
focal_method.modifiers: public static
focal_method.parameters: (String reason, Throwable t)
focal_method.return: SQLException
focal_method.signature: SQLException generateSQLException(String reason, Throwable t)