code: @Override
      public DBConnection dbConnection(final String url, final String user,
              final String pass) throws SQLException {
  
          final DatabaseType type = getDatabaseTypeForURL(url);
          if (type == null) {
              final String err = "failed to determine database type (URL: %s)";
              throw new UnsupportedOperationException(format(err, url));
          }
          try {
              Class.forName(type.getDriverClassName());
          } catch (ClassNotFoundException e) {
              final String err = "failed to load database driver (URL: %s)";
              final String msg = format(err, url);
              throw new UnsupportedOperationException(msg, e);
          }
          final Connection c = getConnection(url, user, pass);
          switch (type) {
          case DERBY:
              return new DBConnection(c, DERBY, url, user, pass);
          case MYSQL:
              return new DBConnection(c, MYSQL, url, user, pass);
          case ORACLE:
              return new DBConnection(c, ORACLE, url, user, pass);
          case POSTGRESQL:
              return new DBConnection(c, POSTGRESQL, url, user, pass);
          default:
              throw new UnsupportedOperationException(type + " is unknown");
          }
      }
docs: {@inheritDoc}