Spring Security ile geliştirirken son zamanlarda bir sorunla karşılaştım. Güvenli olmayan Java arabirimlerinin uygulanması
public interface GrantedAuthority extends Serializable, Comparable
ve Java 1.5 ve daha geç
, arayüzComparable
(JVM 1.4 uyumluluğu için, tabii ki) Spring Güvenlik kütüphanelerinde atlanmış bir tür parametresi
T
alır: Aşağıdaki imza ile bir ara
GrantedAuthority
sahiptir.
Scala'da GrantedAuthority
uygulamasını deniyorum.
class Role extends GrantedAuthority {
. . .
def compareTo(obj: Any): Int = obj match {
case (r: Role) => r.toString.compareTo(this.toString)
case _ => -1
}
}
O derleme değil:
error: class Role needs to be abstract, since method compareTo in trait Comparable of type (T)Int is not defined
nasıl Scala böyle arabirimini uygulayabilir? Java Generics ile
Bunun gibi ham türlerle ilgili sesler: https://lampsvn.epfl.ch/trac/scala/ticket/2970#comment:3 – retronym
Teşekkürler, retronym. Yani son cevap, aslında, "wontfix" dir? – incarnate