He tenido un problema recientemente al desarrollar con Spring Security. Cuenta con una interfaz GrantedAuthority
con firma siguiente:Implementación de interfaces Java no seguras
public interface GrantedAuthority extends Serializable, Comparable
Y como para Java 1.5 y posteriores, la interfaz Comparable
toma un parámetro de tipo T
, que se omite en las bibliotecas de seguridad de Primavera (obviamente, para JVM 1.4 compatibilidad).
Así que estoy tratando de implementar GrantedAuthority
en Scala.
class Role extends GrantedAuthority {
. . .
def compareTo(obj: Any): Int = obj match {
case (r: Role) => r.toString.compareTo(this.toString)
case _ => -1
}
}
No compila:
error: class Role needs to be abstract, since method compareTo in trait Comparable of type (T)Int is not defined
¿Cómo puedo poner en práctica este tipo de interfaz en Scala?
Sonidos relacionados con tipos crudos como este: https://lampsvn.epfl.ch/trac/scala/ticket/2970#comment:3 – retronym
Gracias, retronym. ¿Entonces la respuesta final es, en realidad, "wontfix"? – incarnate