С точки зрения синтаксиса, вы можете изменить лишь крошечный оператор выражения:
case url if url.startsWith("jdbc:mysql:") => "com.mysql.jdbc.Driver"
Это просто связывает значение url
с выражением шаблона (которое также url
) и добавляетОхранное выражение с тестом.Это должно привести к компиляции кода.
Чтобы сделать его немного более похожим на scala, вы можете вернуть Option [String] (я удалил предложение пары, так как оно только для иллюстрации):
def resolveDriver(url: String) = url match {
case u if u.startsWith("jdbc:mysql:") => Some("com.mysql.jdbc.Driver")
case u if u.startsWith("jdbc:postgresql:") => Some("org.postgresql.Driver")
case _ => None
}
Это если вы не хотите управлять исключениями.