https://kotlinlang.org logo
o

orangy

01/12/2017, 10:06 AM
Copy code
enum class Event(val displayName: String) {
    IMPRESSION("impression"),
    CLICK_THROUGH("clickThrough");

    companion object {
        private val nameToEnum by lazy { values().associateBy { it.displayName } }

        fun fromName(name: String): Event {
            return nameToEnum[name] ?: throw IllegalArgumentException("Enum value $name was not found")
        }
    }
}
Good enough?