Recentemente ho avuto un problema durante lo sviluppo con Spring Security. È dotato di un'interfaccia GrantedAuthority
con seguente firma:Implementazione di interfacce Java non sicure
public interface GrantedAuthority extends Serializable, Comparable
E per quanto riguarda Java 1.5 e versioni successive, l'interfaccia Comparable
prende un parametro di tipo T
, che viene omesso nelle biblioteche Primavera di sicurezza (ovviamente, per la JVM 1.4 compatibilità).
Quindi sto cercando di implementare GrantedAuthority
in Scala.
class Role extends GrantedAuthority {
. . .
def compareTo(obj: Any): Int = obj match {
case (r: Role) => r.toString.compareTo(this.toString)
case _ => -1
}
}
Esso non può essere compilato:
error: class Role needs to be abstract, since method compareTo in trait Comparable of type (T)Int is not defined
Come posso implementare tale interfaccia a Scala?
Suoni relativi a tipi non elaborati come questo: https://lampsvn.epfl.ch/trac/scala/ticket/2970#comment:3 – retronym
Grazie, retronym. Quindi la risposta finale è, in realtà, "wontfix"? – incarnate