I've ran into a problem recently while developing with Spring Security. It has an interface GrantedAuthority
with following signature:
public interface GrantedAuthority extends Serializable, Comparable
And as for Java 1.5 and later, the interface Comparable
takes a type parameter T
, which is omitted in Spring Security libraries (obviously, for JVM 1.4 compatibility).
So I am trying to implement GrantedAuthority
in Scala.
class Role extends GrantedAuthority {
. . .
def compareTo(obj: Any): Int = obj match {
case (r: Role) => r.toString.compareTo(this.toString)
case _ => -1
}
}
It does not compile:
error: class Role needs to be abstract, since method compareTo in trait Comparable of type (T)Int is not defined
How can I implement such interface in Scala?