/*! ĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠ ĠC + edition Ġfor ĠDesktop , ĠCommunity ĠEdition . ĊĠĠĠ ĠCopyright Ġ( C ) Ġ 2 0 2 1 ĠC pl use dition ĠLimited . Ġ ĠAll Ġrights Ġreserved . ĊĠĠĠĠĊĠĠĠ ĠThe Ġauthor Ġlicenses Ġthis Ġfile Ġto ĠYou Ġ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 . Ċ */ Ċ /* Ċ Ġ* Ġ================================================================= === Ċ Ġ* ĠLicensed Ġto Ġthe ĠApache ĠSoftware ĠFoundation Ġ( ASF ) Ġunder Ġone Ċ Ġ* Ġor Ġmore Ġcontributor Ġlicense Ġagreements . Ġ ĠSee Ġthe ĠNOTICE Ġfile Ċ Ġ* Ġdistributed Ġwith Ġthis Ġwork Ġfor Ġadditional Ġinformation Ċ Ġ* Ġregarding Ġcopyright Ġownership . Ġ ĠThe ĠASF Ġlicenses Ġthis Ġfile Ċ Ġ* Ġto Ġyou Ġ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 . Ċ Ġ* Ġ================================================================= === Ċ Ġ* Ċ Ġ* ĠThis Ġsoftware Ġconsists Ġof Ġvol unt ary Ġcontributions Ġmade Ġby Ġmany Ċ Ġ* Ġindividuals Ġon Ġbehalf Ġof Ġthe ĠApache ĠSoftware ĠFoundation . Ġ ĠFor Ġmore Ċ Ġ* Ġinformation Ġon Ġthe ĠApache ĠSoftware ĠFoundation , Ġplease Ġsee Ċ Ġ* Ġ< http :// www . apache . org />. Ċ Ġ* Ċ Ġ*/ Ċ package Ġsf . and ri ans . org . apache . http . entity Ċ Ċ import Ġsf . and ri ans . org . apache . http .* Ċ import Ġsf . and ri ans . org . apache . http . message . Basic HeaderValue Formatter Ċ import Ġsf . and ri ans . org . apache . http . message . Basic HeaderValue Parser Ċ import Ġsf . and ri ans . org . apache . http . message . Basic NameValuePair Ċ import Ġsf . and ri ans . org . apache . http . message . Parser Cursor Ċ import Ġsf . and ri ans . org . apache . http . util . Args Ċ import Ġsf . and ri ans . org . apache . http . util . CharArray Buffer Ċ import Ġsf . and ri ans . org . apache . http . util . TextUtils Ċ import Ġjava . io . Serializable Ċ import Ġjava . nio . charset . Charset Ċ import Ġjava . nio . charset . Unsupported Charset Exception Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠContent Ġtype Ġinformation Ġconsisting Ġof Ġa ĠMIME Ġtype Ġand Ġan Ġoptional Ġcharset . Ċ Ġ* Ċ Ġ* Ċ Ġ* ĠThis Ġclass Ġmakes Ġno Ġattempts Ġto Ġverify Ġvalidity Ġof Ġthe ĠMIME Ġtype . Ċ Ġ* ĠThe Ġinput Ġparameters Ġof Ġthe Ġ[. create ] Ġmethod , Ġhowever , Ġmay Ġnot Ċ Ġ* Ġcontain Ġcharacters Ġ`< "> , Ġ< ; >, Ġ< , >` Ġreserved Ġby Ġthe ĠHTTP Ġspecification . Ċ Ġ* Ċ Ġ* Ġ@ since Ġ 4 . 2 Ċ Ġ*/ Ċ class ĠContentType Ġ: ĠSerializable Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠserialVersionUID Ġ= Ġ- 7 7 6 8 6 9 4 7 1 8 2 3 2 3 7 1 8 9 6 L ĊĊĠĠĠĠĠĠĠ Ġval ĠAP PLICATION _ ATOM _ XML Ġ= Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" application / atom + xml ", ĠConst s . ISO _ 8 8 5 9 _ 1 ) ĊĠĠĠĠĠĠĠ Ġval ĠAP PLICATION _ FORM _ URL ENCODE D Ġ= Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" application / x - www - form - urlencoded ", ĠConst s . ISO _ 8 8 5 9 _ 1 ) ĊĠĠĠĠĠĠĠ Ġval ĠAP PLICATION _ JSON Ġ= Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" application / json ", ĠConst s . UTF _ 8 ) ĊĠĠĠĠĠĠĠ Ġval ĠAP PLICATION _ OCT ET _ STREAM Ġ= Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" application / octet - stream ", Ġnull Ġas ĠCharset ?) ĊĠĠĠĠĠĠĠ Ġval ĠAP PLICATION _ SOAP _ XML Ġ= Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" application / soap + xml ", ĠConst s . UTF _ 8 ) ĊĠĠĠĠĠĠĠ Ġval ĠAP PLICATION _ SVG _ XML Ġ= Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" application / svg + xml ", ĠConst s . ISO _ 8 8 5 9 _ 1 ) ĊĠĠĠĠĠĠĠ Ġval ĠAP PLICATION _ X HTML _ XML Ġ= Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" application / xhtml + xml ", ĠConst s . ISO _ 8 8 5 9 _ 1 ) ĊĠĠĠĠĠĠĠ Ġval ĠAP PLICATION _ XML Ġ= Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" application / xml ", ĠConst s . ISO _ 8 8 5 9 _ 1 ) ĊĠĠĠĠĠĠĠ Ġval ĠIMAGE _ B MP Ġ= Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" image / bmp ") ĊĠĠĠĠĠĠĠ Ġval ĠIMAGE _ G IF Ġ= Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" image / gif ") ĊĠĠĠĠĠĠĠ Ġval ĠIMAGE _ JPEG Ġ= Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" image / jpeg ") ĊĠĠĠĠĠĠĠ Ġval ĠIMAGE _ PNG Ġ= Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" image / png ") ĊĠĠĠĠĠĠĠ Ġval ĠIMAGE _ SVG Ġ= Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" image / svg + xml ") ĊĠĠĠĠĠĠĠ Ġval ĠIMAGE _ TI FF Ġ= Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" image / tiff ") ĊĠĠĠĠĠĠĠ Ġval ĠIMAGE _ WE BP Ġ= Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" image / webp ") ĊĠĠĠĠĠĠĠ Ġval ĠMULTI PART _ FORM _ DATA Ġ= Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" multipart / form - data ", ĠConst s . ISO _ 8 8 5 9 _ 1 ) ĊĠĠĠĠĠĠĠ Ġval ĠTEXT _ HTML Ġ= Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" text / html ", ĠConst s . ISO _ 8 8 5 9 _ 1 ) ĊĠĠĠĠĠĠĠ Ġval ĠTEXT _ PLAIN Ġ= Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" text / plain ", ĠConst s . ISO _ 8 8 5 9 _ 1 ) ĊĠĠĠĠĠĠĠ Ġval ĠTEXT _ XML Ġ= Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" text / xml ", ĠConst s . ISO _ 8 8 5 9 _ 1 ) ĊĠĠĠĠĠĠĠ Ġval ĠW IL DC ARD Ġ= Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"* /* ", Ġnull Ġas ĠCharset ?) ĊĠĠĠĠĠĠĠ Ġprivate Ġvar ĠCONTENT _ TYPE _ MAP : ĠMap < String , ĠContentType > Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontent Types Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAP PLICATION _ ATOM _ XML , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAP PLICATION _ FORM _ URL ENCODE D , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAP PLICATION _ JSON , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAP PLICATION _ SVG _ XML , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAP PLICATION _ X HTML _ XML , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAP PLICATION _ XML , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIMAGE _ B MP , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIMAGE _ G IF , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIMAGE _ JPEG , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIMAGE _ PNG , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIMAGE _ SVG , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIMAGE _ TI FF , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIMAGE _ WE BP , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMULTI PART _ FORM _ DATA , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTEXT _ HTML , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTEXT _ PLAIN , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTEXT _ XML ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmap Ġ= ĠHashMap < String , ĠContentType >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( contentType Ġin Ġcontent Types ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap . put ( contentType . mime Type , ĠcontentType ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCollections . unmodifiable Map ( map ) ĊĠĠĠĠĠĠĠ Ġ} () ĊĊĠĠĠĠĠĠĠ Ġval ĠDEFAULT _ TEXT Ġ= ĠTEXT _ PLAIN ĊĠĠĠĠĠĠĠ Ġval ĠDEFAULT _ BINARY Ġ= ĠAP PLICATION _ OCT ET _ STREAM ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġvalid ( s : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġs . length ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġch Ġ= Ġs [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( ch Ġ== Ġ'"' Ġ|| Ġch Ġ== Ġ',' Ġ|| Ġch Ġ== Ġ'; ') Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠCreates Ġa Ġnew Ġinstance Ġof Ġ[ ContentType ]. ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param ĠmimeType ĠMIME Ġtype . ĠIt Ġmay Ġnot Ġbe Ġ` null ` Ġor Ġempty . ĠIt Ġmay Ġnot Ġcontain ĊĠĠĠĠĠĠĠĠ Ġ* Ġcharacters Ġ`< "> , Ġ< ; >, Ġ< , >` Ġreserved Ġby Ġthe ĠHTTP Ġspecification . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġcharset Ġcharset . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return Ġcontent Ġtype ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠCreates Ġa Ġnew Ġinstance Ġof Ġ[ ContentType ] Ġwithout Ġa Ġcharset . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param ĠmimeType ĠMIME Ġtype . ĠIt Ġmay Ġnot Ġbe Ġ` null ` Ġor Ġempty . ĠIt Ġmay Ġnot Ġcontain ĊĠĠĠĠĠĠĠĠ Ġ* Ġcharacters Ġ`< "> , Ġ< ; >, Ġ< , >` Ġreserved Ġby Ġthe ĠHTTP Ġspecification . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return Ġcontent Ġtype ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( mime Type : ĠString , Ġcharset : ĠCharset ? Ġ= Ġnull ): ĠContentType Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnormalized MimeType Ġ= ĠArgs . not Blank ( mime Type , Ġ" MIME Ġtype "). toLowerCase ( Locale . ROOT ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgs . check ( valid ( normalized MimeType ), Ġ" MIME Ġtype Ġmay Ġnot Ġcontain Ġreserved Ġcharacters ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠContentType ( normalized MimeType , Ġcharset ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠCreates Ġa Ġnew Ġinstance Ġof Ġ[ ContentType ]. ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param ĠmimeType ĠMIME Ġtype . ĠIt Ġmay Ġnot Ġbe Ġ` null ` Ġor Ġempty . ĠIt Ġmay Ġnot Ġcontain ĊĠĠĠĠĠĠĠĠ Ġ* Ġcharacters Ġ`< "> , Ġ< ; >, Ġ< , >` Ġreserved Ġby Ġthe ĠHTTP Ġspecification . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġcharset Ġcharset . ĠIt Ġmay Ġnot Ġcontain Ġcharacters Ġ`< "> , Ġ< ; >, Ġ< , >` Ġreserved Ġby Ġthe ĠHTTP ĊĠĠĠĠĠĠĠĠ Ġ* Ġspecification . ĠThis Ġparameter Ġis Ġoptional . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return Ġcontent Ġtype ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ throws ĠUnsupported Charset Exception ĠThrow n Ġwhen Ġthe Ġnamed Ġcharset Ġis Ġnot Ġavailable Ġin ĊĠĠĠĠĠĠĠĠ Ġ* Ġthis Ġinstance Ġof Ġthe ĠJava Ġvirtual Ġmachine ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Throws ( Unsupported Charset Exception :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( mime Type : ĠString , Ġcharset : ĠString ?): ĠContentType Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcreate ( mime Type , Ġif Ġ(! TextUtils . isBlank ( charset )) ĠCharset . forName ( charset ) Ġelse Ġnull ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġcreate ( he lem : ĠHeader Element , Ġstrict : ĠBoolean ): ĠContentType Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcreate ( he lem . name , Ġhe lem . getParameters (), Ġstrict ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġcreate ( mime Type : ĠString , Ġparams : ĠArray < NameValuePair > ?, Ġstrict : ĠBoolean ): ĠContentType Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġcharset : ĠCharset ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( params Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( param Ġin Ġparams ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( param . name . equals (" charset ", Ġignore Case Ġ= Ġtrue )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġs Ġ= Ġparam . value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! TextUtils . isBlank ( s )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcharset Ġ= ĠCharset . forName ( s ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠUnsupported Charset Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( strict ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġex ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠContentType ( mime Type , Ġcharset , Ġif Ġ( params Ġ!= Ġnull Ġ&& Ġparams . size Ġ> Ġ 0 ) Ġparams Ġelse Ġnull ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠCreates Ġa Ġnew Ġinstance Ġof Ġ[ ContentType ] Ġwith Ġthe Ġgiven Ġparameters . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param ĠmimeType ĠMIME Ġtype . ĠIt Ġmay Ġnot Ġbe Ġ` null ` Ġor Ġempty . ĠIt Ġmay Ġnot Ġcontain ĊĠĠĠĠĠĠĠĠ Ġ* Ġcharacters Ġ`< "> , Ġ< ; >, Ġ< , >` Ġreserved Ġby Ġthe ĠHTTP Ġspecification . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġparams Ġparameters . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return Ġcontent Ġtype ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ since Ġ 4 . 4 ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Throws ( Unsupported Charset Exception :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmimeType : ĠString , Ġvar arg Ġparams : ĠName ValuePair ): ĠContentType Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtype Ġ= ĠArgs . not Blank ( mime Type , Ġ" MIME Ġtype "). toLowerCase ( Locale . ROOT ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgs . check ( valid ( type ), Ġ" MIME Ġtype Ġmay Ġnot Ġcontain Ġreserved Ġcharacters ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcreate ( mime Type , ĠArrays . copyOf ( params , Ġparams . size ), Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠParses Ġtext ual Ġrepresentation Ġof Ġ` Content - Type ` Ġvalue . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġs Ġtext ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return Ġcontent Ġtype ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ throws ĠParseException Ġif Ġthe Ġgiven Ġtext Ġdoes Ġnot Ġrepresent Ġa Ġvalid ĊĠĠĠĠĠĠĠĠ Ġ* Ġ` Content - Type ` Ġvalue . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ throws ĠUnsupported Charset Exception ĠThrow n Ġwhen Ġthe Ġnamed Ġcharset Ġis Ġnot Ġavailable Ġin ĊĠĠĠĠĠĠĠĠ Ġ* Ġthis Ġinstance Ġof Ġthe ĠJava Ġvirtual Ġmachine ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Throws ( ParseException :: class , ĠUnsupported Charset Exception :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġparse ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs : ĠString ): ĠContentType Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgs . notNull ( s , Ġ" Content Ġtype ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuf Ġ= ĠChar ArrayBuffer ( s . length ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuf . append ( s ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcursor Ġ= ĠParser Cursor ( 0 , Ġs . length ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġelements : ĠArray < Header Element > Ġ= ĠBasic HeaderValue Parser . Companion . INSTANCE . parse Elements ( buf , Ġcursor ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( elements . size Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcreate ( elements [ 0 ], Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠParseException (" Invalid Ġcontent Ġtype : Ġ$ s ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠExtract s Ġ` Content - Type ` Ġvalue Ġfrom Ġ[ Http Entity ] Ġexactly Ġas ĊĠĠĠĠĠĠĠĠ Ġ* Ġspecified Ġby Ġthe Ġ` Content - Type ` Ġheader Ġof Ġthe Ġentity . ĠReturns Ġ` null ` ĊĠĠĠĠĠĠĠĠ Ġ* Ġif Ġnot Ġspecified . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġentity ĠHTTP Ġentity ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return Ġcontent Ġtype ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ throws ĠParseException Ġif Ġthe Ġgiven Ġtext Ġdoes Ġnot Ġrepresent Ġa Ġvalid ĊĠĠĠĠĠĠĠĠ Ġ* Ġ` Content - Type ` Ġvalue . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ throws ĠUnsupported Charset Exception ĠThrow n Ġwhen Ġthe Ġnamed Ġcharset Ġis Ġnot Ġavailable Ġin ĊĠĠĠĠĠĠĠĠ Ġ* Ġthis Ġinstance Ġof Ġthe ĠJava Ġvirtual Ġmachine ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Throws ( ParseException :: class , ĠUnsupported Charset Exception :: class ) ĊĠĠĠĠĠĠĠ Ġoperator Ġfun Ġget ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity : ĠHttp Entity ?): ĠContentType ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( entity Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġheader Ġ= Ġentity . contentType ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( header Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġelements Ġ= Ġheader . elements ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( elements . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcreate ( elements [ 0 ], Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠExtract s Ġ` Content - Type ` Ġvalue Ġfrom Ġ[ Http Entity ]. ĠReturns Ġ` null ` ĊĠĠĠĠĠĠĠĠ Ġ* Ġif Ġnot Ġspecified Ġor Ġincorrect Ġ( could Ġnot Ġbe Ġparsed ) .. ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġentity ĠHTTP Ġentity ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return Ġcontent Ġtype ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ since Ġ 4 . 4 ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġget Len ient ( entity : ĠHttp Entity ?): ĠContentType ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( entity Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġheader Ġ= Ġentity . contentType ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( header Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġelements Ġ= Ġheader . elements ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( elements . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcreate ( elements [ 0 ], Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠParseException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠExtract s Ġ` Content - Type ` Ġvalue Ġfrom Ġ[ Http Entity ] Ġor Ġreturns Ġthe Ġdefault Ġvalue ĊĠĠĠĠĠĠĠĠ Ġ* Ġ[. DEFAULT _ TEXT ] Ġif Ġnot Ġexplicitly Ġspecified . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġentity ĠHTTP Ġentity ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return Ġcontent Ġtype ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ throws ĠParseException Ġif Ġthe Ġgiven Ġtext Ġdoes Ġnot Ġrepresent Ġa Ġvalid ĊĠĠĠĠĠĠĠĠ Ġ* Ġ` Content - Type ` Ġvalue . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ throws ĠUnsupported Charset Exception ĠThrow n Ġwhen Ġthe Ġnamed Ġcharset Ġis Ġnot Ġavailable Ġin ĊĠĠĠĠĠĠĠĠ Ġ* Ġthis Ġinstance Ġof Ġthe ĠJava Ġvirtual Ġmachine ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Throws ( ParseException :: class , ĠUnsupported Charset Exception :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġget OrDefault ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity : ĠHttp Entity ?): ĠContentType Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠcontentType Ġ= Ġget ( entity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠcontentType Ġ?: ĠDEFAULT _ TEXT ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠExtract s Ġ` Content - Type ` Ġvalue Ġfrom Ġ[ Http Entity ] Ġor Ġreturns Ġthe Ġdefault Ġvalue ĊĠĠĠĠĠĠĠĠ Ġ* Ġ[. DEFAULT _ TEXT ] Ġif Ġnot Ġexplicitly Ġspecified Ġor Ġincorrect Ġ( could Ġnot Ġbe Ġparsed ). ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġentity ĠHTTP Ġentity ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return Ġcontent Ġtype ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ since Ġ 4 . 4 ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Throws ( ParseException :: class , ĠUnsupported Charset Exception :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġget Len ient OrDefault ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity : ĠHttp Entity ?): ĠContentType Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠcontentType Ġ= Ġget ( entity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠcontentType Ġ?: ĠDEFAULT _ TEXT ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠReturns Ġ` Content - Type ` Ġfor Ġthe Ġgiven ĠMIME Ġtype . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param ĠmimeType ĠMIME Ġtype ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return Ġcontent Ġtype Ġor Ġ` null ` Ġif Ġnot Ġknown . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ since Ġ 4 . 5 ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun ĠgetBy MimeType ( mime Type : ĠString ?): ĠContentType ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠmimeType ?. let Ġ{ ĠCONTENT _ TYPE _ MAP [ mime Type ] Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval ĠmimeType : ĠString ĊĠĠĠ Ġval Ġcharset : ĠCharset ? ĊĠĠĠ Ġprivate Ġval Ġparams : ĠArray < NameValuePair >? ĊĊĠĠĠ Ġinternal Ġconstructor ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠmimeType : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcharset : ĠCharset ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . mime Type Ġ= ĠmimeType ĊĠĠĠĠĠĠĠ Ġthis . charset Ġ= Ġcharset ĊĠĠĠĠĠĠĠ Ġparams Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġconstructor ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠmimeType : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcharset : ĠCharset ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams : ĠArray < NameValuePair > ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . mime Type Ġ= ĠmimeType ĊĠĠĠĠĠĠĠ Ġthis . charset Ġ= Ġcharset ĊĠĠĠĠĠĠĠ Ġthis . params Ġ= Ġparams ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ since Ġ 4 . 3 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Parameter ( name : ĠString ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ ĠArgs . not Empty ( name , Ġ" Parameter Ġname ") ĊĠĠĠĠĠĠĠ Ġif Ġ( params Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfor Ġ( param Ġin Ġparams ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( param . name . equals ( name , Ġignore Case Ġ= Ġtrue )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġparam . value ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGenerates Ġtext ual Ġrepresentation Ġof Ġthis Ġcontent Ġtype Ġwhich Ġcan Ġbe Ġused Ġas Ġthe Ġvalue ĊĠĠĠĠ Ġ* Ġof Ġa Ġ` Content - Type ` Ġheader . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuf Ġ= ĠChar ArrayBuffer ( 6 4 ) ĊĠĠĠĠĠĠĠ Ġbuf . append ( mime Type ) ĊĠĠĠĠĠĠĠ Ġif Ġ( params Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuf . append ("; Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBasic HeaderValue Formatter . Companion . INSTANCE . format Parameters ( buf , Ġparams , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( charset Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuf . append ("; Ġcharset =") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuf . append ( charset . name ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġbuf . toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCreates Ġa Ġnew Ġinstance Ġwith Ġthis ĠMIME Ġtype Ġand Ġthe Ġgiven ĠCharset . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcharset Ġcharset ĊĠĠĠĠ Ġ* Ġ@ return Ġa Ġnew Ġinstance Ġwith Ġthis ĠMIME Ġtype Ġand Ġthe Ġgiven ĠCharset . ĊĠĠĠĠ Ġ* Ġ@ since Ġ 4 . 3 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġwith Charset ( charset : ĠCharset ?): ĠContentType Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcreate ( mime Type , Ġcharset ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCreates Ġa Ġnew Ġinstance Ġwith Ġthis ĠMIME Ġtype Ġand Ġthe Ġgiven ĠCharset Ġname . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcharset Ġname ĊĠĠĠĠ Ġ* Ġ@ return Ġa Ġnew Ġinstance Ġwith Ġthis ĠMIME Ġtype Ġand Ġthe Ġgiven ĠCharset Ġname . ĊĠĠĠĠ Ġ* Ġ@ throws ĠUnsupported Charset Exception ĠThrow n Ġwhen Ġthe Ġnamed Ġcharset Ġis Ġnot Ġavailable Ġin ĊĠĠĠĠ Ġ* Ġthis Ġinstance Ġof Ġthe ĠJava Ġvirtual Ġmachine ĊĠĠĠĠ Ġ* Ġ@ since Ġ 4 . 3 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġwith Charset ( charset : ĠString ?): ĠContentType Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcreate ( mime Type , Ġcharset ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCreates Ġa Ġnew Ġinstance Ġwith Ġthis ĠMIME Ġtype Ġand Ġthe Ġgiven Ġparameters . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġparams ĊĠĠĠĠ Ġ* Ġ@ return Ġa Ġnew Ġinstance Ġwith Ġthis ĠMIME Ġtype Ġand Ġthe Ġgiven Ġparameters . ĊĠĠĠĠ Ġ* Ġ@ since Ġ 4 . 4 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Throws ( Unsupported Charset Exception :: class ) ĊĠĠĠ Ġfun Ġwith Parameters ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar arg Ġparams : ĠName ValuePair ): ĠContentType Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( params . size Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġparam Map : ĠMutable Map < String ?, ĠString ?> Ġ= ĠLinkedHashMap () ĊĠĠĠĠĠĠĠ Ġif Ġ( this . params Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( param Ġin Ġthis . params ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparam Map [ param . name ] Ġ= Ġparam . value ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfor Ġ( param Ġin Ġparams ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparam Map [ param . name ] Ġ= Ġparam . value ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġnew Params : ĠMutable List < NameValuePair > Ġ= ĠArrayList ( param Map . size Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġif Ġ( charset Ġ!= Ġnull Ġ&& Ġ! param Map . containsKey (" charset ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew Params . add ( Basic NameValuePair (" charset ", Ġcharset . name ())) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfor Ġ(( key , Ġvalue ) Ġin Ġparam Map ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew Params . add ( Basic NameValuePair ( key , Ġvalue )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġcreate ( mime Type , Ġnew Params . to Typed Array (), Ġtrue ) ĊĠĠĠ Ġ} Ċ } Ċ