Iteração sobre um traço selado em Scala?
Eu só queria saber se é possível fazer uma iteração sobre um traço selado em Scala? Se não, por que não é possível? Desde que o traço é selado, deveria ser possível não?
O que eu quero fazer é algo assim:
sealed trait ResizedImageKey {
/**
* Get the dimensions to use on the resized image associated with this key
*/
def getDimension(originalDimension: Dimension): Dimension
}
case class Dimension(width: Int, height: Int)
case object Large extends ResizedImageKey {
def getDimension(originalDimension: Dimension) = Dimension(1000,1000)
}
case object Medium extends ResizedImageKey{
def getDimension(originalDimension: Dimension) = Dimension(500,500)
}
case object Small extends ResizedImageKey{
def getDimension(originalDimension: Dimension) = Dimension(100,100)
}
O que eu quero pode ser feito em Java, dando uma implementação para os valores enum. Existe um equivalente em Scala?