/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 1 6 ĠJetBrains Ġs . r . o . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġkotlin Ċ Ċ public Ġclass ĠEnum < T Ġ: ĠEnum < T >> Ġ: ĠComparable < Enum < T >> Ġ{ ĊĠĠĠ Ġ@ Js Name (" name $ ") Ġprivate Ġvar Ġ_ name : ĠString Ġ= Ġ"" ĊĠĠĠ Ġ@ Js Name (" ordinal $ ") Ġprivate Ġvar Ġ_ ordinal : ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġval Ġname : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ name ĊĊĠĠĠ Ġval Ġordinal : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ ordinal ĊĊĠĠĠ Ġoverride Ġfun Ġcompare To ( other : ĠEnum < T >) Ġ= Ġordinal . compareTo ( other . ordinal ) ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?) Ġ= Ġthis Ġ=== Ġother ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ= Ġjs (" Kotlin . identity HashCode ")( this ) ĊĊĠĠĠ Ġoverride Ġfun ĠtoString () Ġ= Ġname ĊĊĠĠĠ Ġcompanion Ġobject Ċ }