If I understand your question that you want to check if a string exists in FilterByDimension
enum
, the your FilterByDimension
should be as below
object FilterByDimensions extends Enumeration {
type FilterByDimensions = String
val Instance = Value("Instance")
val Platform = Value("Platform")
val Region = Value("Region")
import scala.util.control.Breaks._
def isSupported(s: String) = {
var exists = false
breakable {
for(value <- FilterByDimensions.values){
exists = s.equalsIgnoreCase(FilterByDimensions(value.id).toString)
if(exists){
break
}
}
}
exists
}
}
Edited
for pattern matching, its better to use case class
case class FilterByDimensions(value: String)
object FilterByDimensions {
object Instance extends FilterByDimensions("Instance")
object Platform extends FilterByDimensions("Platform")
object Region extends FilterByDimensions("Region")
val values = Seq(Instance, Platform, Region)
}
And you can call it as below
val ins = "Instance"
ins match {
case FilterByDimensions.Instance.value => println("instance match")
case FilterByDimensions.Instance.value => println("progressing")
case FilterByDimensions.Instance.value => println("region match")
case _ => println("doesn't match")
}