org.coursera.common.collection
An Enum symbol with a symbol name that can be explicitly set and which may be different than its corresponding Scala case object's name.
Example usage:
abstract class RenamedCompany(currentName: String) extends AliasedEnumSymbol(currentName) object RenamedCompany extends Enum[Aliased] { case object BackRub extends RenamedCompany("Google") case object TypeSafe extends RenamedCompany("Lightbend") }
scala> RenamedCompany.BackRub.name res1: String = "Google"
scala RenamedCompany.withName("Lightbend") res2: RenamedCompany = RenamedCompany.TypeSafe
provides the symbol name.
An Enum symbol with a symbol name that can be explicitly set and which may be different than its corresponding Scala case object's name.
Example usage:
abstract class RenamedCompany(currentName: String) extends AliasedEnumSymbol(currentName) object RenamedCompany extends Enum[Aliased] { case object BackRub extends RenamedCompany("Google") case object TypeSafe extends RenamedCompany("Lightbend") }
scala> RenamedCompany.BackRub.name res1: String = "Google"
scala RenamedCompany.withName("Lightbend") res2: RenamedCompany = RenamedCompany.TypeSafe