package Ġit . uni bo . presentation Ċ Ċ import Ġjava . util .* Ċ Ċ enum Ġclass ĠMIME Types ( val Ġtype : ĠString , Ġval Ġsubtype : ĠString ) Ġ{ ĊĠĠĠ ĠAP PLICATION _ JSON (" application ", Ġ" json "), ĊĠĠĠ ĠAP PLICATION _ YAML (" application ", Ġ" yaml "), ĊĠĠĠ ĠAP PLICATION _ XML (" application ", Ġ" xml "), ĊĠĠĠ ĠAP PLICATION _ PRO LOG (" application ", Ġ" pro log "), ĊĠĠĠ ĠTEXT _ HTML (" text ", Ġ" html "), ĊĠĠĠ ĠTEXT _ PLAIN (" text ", Ġ" plain "), ĠANY ("* ", Ġ"* "), ĊĠĠĠ ĠAP PLICATION _ ANY (" application ", Ġ"* "); ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ"$ type /$ subtype " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġmatches ( other : ĠString ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmatch ( this , Ġother ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġval ĠXML _ JSON _ YAML Ġ= ĠEnum Set . of ( APPLICATION _ XML , ĠAP PLICATION _ JSON , ĠAP PLICATION _ YAML ) ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġval ĠJSON _ YAML Ġ= ĠEnum Set . of ( APPLICATION _ JSON , ĠAP PLICATION _ YAML ) ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġmatch ( mime : ĠMIME Types , Ġother : ĠString ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( other Ġ== Ġnull Ġ|| Ġ! other . contains ("/ ")) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparts Ġ= Ġother . split ("/ "). to Typed Array () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( parts . size Ġ!= Ġ 2 ) Ġfalse Ġelse Ġmatch ( mime , Ġparts [ 0 ], Ġparts [ 1 ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġmatch ( mime : ĠMIME Types , Ġtype : ĠString , Ġsubtype : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ(( sequence Of ( mime . type , Ġtype ). any Ġ{ Ġ"*" Ġ== Ġit Ġ} Ġ|| Ġmime . type . equals ( type , Ġignore Case Ġ= Ġtrue )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġ( sequence Of ( mime . subtype , Ġsubtype ). any Ġ{ Ġ"*" Ġ== Ġit Ġ} Ġ Ġ|| Ġmime . subtype . equals ( subtype , Ġignore Case Ġ= Ġtrue ))) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġparse ( string : ĠString ?): ĠMIME Types Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġsequence Of (* values ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. find Ġ{ Ġit . toString (). equals ( string , Ġignore Case Ġ= Ġtrue ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġthrow ĠIllegalArgumentException ( string ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }