package Ġio . is land time . format Ċ Ċ import Ġio . is land time . Is land Time Ċ import Ġio . is land time . base . DateTimeField Ċ import Ġio . is land time . locale . Locale Ċ import Ġio . is land time . DateTime Exception Ċ Ċ type alias ĠPar s able Text List Ġ= ĠList < Pair < String , ĠLong >> Ċ Ċ /** Ċ Ġ* ĠAn Ġabstraction Ġthat Ġallows Ġlocalized Ġdate - time Ġtext Ġto Ġbe Ġsupplied Ġfrom Ġdifferent Ġdata Ġsources . Ċ Ġ*/ Ċ interface ĠDateTime Text Provider Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġlocalized Ġtext Ġfor Ġthe Ġspecified Ġfield , Ġvalue , Ġstyle , Ġand Ġlocale . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġfield Ġthe Ġfield Ġto Ġget Ġtext Ġfor ĊĠĠĠĠ Ġ* Ġ@ param Ġvalue Ġthe Ġvalue Ġof Ġthe Ġfield ĊĠĠĠĠ Ġ* Ġ@ param Ġstyle Ġthe Ġstyle Ġof Ġthe Ġtext ĊĠĠĠĠ Ġ* Ġ@ param Ġlocale Ġthe Ġlocale ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġlocalized Ġtext Ġor Ġ` null ` Ġif Ġunavailable ĊĠĠĠĠ Ġ* Ġ@ throws ĠDateTime Exception Ġif Ġthe Ġvalue Ġif Ġout Ġof Ġrange Ġfor Ġthe Ġspecified Ġfield ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġtext For ( field : ĠDateTime Field , Ġvalue : ĠLong , Ġstyle : ĠTextStyle , Ġlocale : ĠLocale ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( field ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDateTime Field . DAY _ OF _ WEEK Ġ-> Ġday OfWeek Text For ( value , Ġstyle , Ġlocale ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDateTime Field . MONTH _ OF _ YEAR Ġ-> Ġmonth Text For ( value , Ġstyle , Ġlocale ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDateTime Field . AM _ PM _ OF _ DAY Ġ-> Ġam Pm Text For ( value , Ġlocale ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDateTime Field . ERA Ġ-> Ġera Text For ( value , Ġstyle , Ġlocale ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġa Ġlist Ġof Ġall Ġlocalized Ġtext Ġin Ġa Ġparticular Ġstyle Ġalong Ġwith Ġthe Ġvalues Ġassociated Ġthat Ġtext . ĠThe Ġlist Ġwill ĊĠĠĠĠ Ġ* Ġbe Ġsorted Ġin Ġdescending Ġorder Ġby Ġthe Ġlength Ġof Ġtext , Ġmaking Ġit Ġsuitable Ġfor Ġparsing . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠAny Ġtext Ġwith Ġconflicting Ġvalues Ġwill Ġbe Ġexcluded . ĠFor Ġexample , Ġthe ĠEnglish Ġnarrow Ġmonth Ġname Ġ" M " Ġcould Ġbe ĊĠĠĠĠ Ġ* Ġ` March ` Ġor Ġ` May `, Ġso Ġany Ġattempt Ġto Ġparse Ġit Ġwould Ġbe Ġambiguous . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġfield Ġthe Ġfield Ġto Ġget Ġtext Ġfor ĊĠĠĠĠ Ġ* Ġ@ param Ġstyle Ġthe Ġstyle Ġof Ġthe Ġtext ĊĠĠĠĠ Ġ* Ġ@ param Ġlocale Ġthe Ġlocale ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġlist Ġof Ġpar s able Ġtext Ġ-- Ġempty Ġif Ġthe Ġfield Ġis Ġinvalid ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġpar s able Text For ( field : ĠDateTime Field , Ġstyle : ĠTextStyle , Ġlocale : ĠLocale ): ĠPar s able Text List Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġpar s able Text For ( field , Ġset Of ( style ), Ġlocale ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġa Ġlist Ġof Ġall Ġlocalized Ġtext Ġin Ġa Ġset Ġof Ġstyles Ġalong Ġwith Ġthe Ġvalues Ġassociated Ġthat Ġtext . ĠThe Ġlist Ġwill ĊĠĠĠĠ Ġ* Ġbe Ġsorted Ġin Ġdescending Ġorder Ġby Ġthe Ġlength Ġof Ġtext , Ġmaking Ġit Ġsuitable Ġfor Ġparsing . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠAny Ġtext Ġwith Ġconflicting Ġvalues Ġwill Ġbe Ġexcluded . ĠFor Ġexample , Ġthe ĠEnglish Ġnarrow Ġmonth Ġname Ġ" M " Ġcould Ġbe ĊĠĠĠĠ Ġ* Ġ` March ` Ġor Ġ` May `, Ġso Ġany Ġattempt Ġto Ġparse Ġit Ġwould Ġbe Ġambiguous . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġfield Ġthe Ġfield Ġto Ġget Ġtext Ġfor ĊĠĠĠĠ Ġ* Ġ@ param Ġstyles Ġthe Ġset Ġof Ġstyles Ġto Ġinclude ĊĠĠĠĠ Ġ* Ġ@ param Ġlocale Ġthe Ġlocale ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġlist Ġof Ġpar s able Ġtext Ġ-- Ġempty Ġif Ġthe Ġfield Ġis Ġinvalid Ġor Ġno Ġstyles Ġare Ġspecified ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġpar s able Text For ( field : ĠDateTime Field , Ġstyles : ĠSet < TextStyle >, Ġlocale : ĠLocale ): ĠPar s able Text List ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġthe Ġlocalized Ġday Ġof Ġthe Ġweek Ġtext Ġfor Ġa Ġgiven ĠISO Ġday Ġof Ġweek Ġnumber . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġvalue Ġan ĠISO Ġday Ġof Ġweek Ġnumber , Ġfrom ĠMonday Ġ( 1 ) Ġto ĠS unday Ġ( 7 ) ĊĠĠĠĠ Ġ* Ġ@ param Ġstyle Ġthe Ġstyle Ġof Ġthe Ġtext ĊĠĠĠĠ Ġ* Ġ@ param Ġlocale Ġthe Ġlocale ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġlocalized Ġday Ġof Ġweek Ġtext Ġor Ġ` null ` Ġif Ġunavailable ĊĠĠĠĠ Ġ* Ġ@ throws ĠDateTime Exception Ġif Ġthe Ġvalue Ġis Ġnot Ġa Ġvalid Ġday Ġof Ġthe Ġweek Ġnumber ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġday OfWeek Text For ( value : ĠLong , Ġstyle : ĠTextStyle , Ġlocale : ĠLocale ): ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġthe Ġlocalized Ġmonth Ġtext Ġfor Ġa Ġgiven ĠISO Ġmonth Ġnumber . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġvalue Ġan ĠISO Ġmonth Ġnumber , Ġfrom ĠJanuary Ġ( 1 ) Ġto ĠDecember Ġ( 1 2 ) ĊĠĠĠĠ Ġ* Ġ@ param Ġstyle Ġthe Ġstyle Ġof Ġthe Ġtext ĊĠĠĠĠ Ġ* Ġ@ param Ġlocale Ġthe Ġlocale ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġlocalized Ġmonth Ġtext Ġor Ġ` null ` Ġif Ġunavailable ĊĠĠĠĠ Ġ* Ġ@ throws ĠDateTime Exception Ġif Ġthe Ġvalue Ġis Ġnot Ġa Ġvalid Ġmonth Ġnumber ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġmonth Text For ( value : ĠLong , Ġstyle : ĠTextStyle , Ġlocale : ĠLocale ): ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġthe Ġlocalized ĠAM / PM Ġtext . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġvalue Ġ` 0 ` Ġfor ĠAM Ġor Ġ` 1 ` Ġfor ĠPM ĊĠĠĠĠ Ġ* Ġ@ param Ġlocale Ġthe Ġlocale ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġlocalized ĠAM / PM Ġtext Ġor Ġ` null ` Ġif Ġunavailable ĊĠĠĠĠ Ġ* Ġ@ throws ĠDateTime Exception Ġif Ġthe Ġvalue Ġis Ġnot Ġ` 0 ` Ġor Ġ` 1 ` ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġam Pm Text For ( value : ĠLong , Ġlocale : ĠLocale ): ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġthe Ġlocalized ĠISO Ġera Ġtext . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġvalue Ġ` 0 ` Ġfor ĠB CE Ġor Ġ` 1 ` Ġfor ĠCE ĊĠĠĠĠ Ġ* Ġ@ param Ġlocale Ġthe Ġlocale ĊĠĠĠĠ Ġ* Ġ@ param Ġstyle Ġthe Ġstyle Ġof Ġthe Ġtext ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġlocalized Ġera Ġtext Ġor Ġ` null ` Ġif Ġunavailable ĊĠĠĠĠ Ġ* Ġ@ throws ĠDateTime Exception Ġif Ġthe Ġvalue Ġis Ġnot Ġ` 0 ` Ġor Ġ` 1 ` ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġera Text For ( value : ĠLong , Ġstyle : ĠTextStyle , Ġlocale : ĠLocale ): ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġcompanion Ġobject Ġ: ĠDateTime Text Provider Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġtext For ( field : ĠDateTime Field , Ġvalue : ĠLong , Ġstyle : ĠTextStyle , Ġlocale : ĠLocale ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠIsland Time . dateTime Text Provider . text For ( field , Ġvalue , Ġstyle , Ġlocale ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġpar s able Text For ( field : ĠDateTime Field , Ġstyles : ĠSet < TextStyle >, Ġlocale : ĠLocale ): ĠPar s able Text List Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠIsland Time . dateTime Text Provider . pars able Text For ( field , Ġstyles , Ġlocale ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġam Pm Text For ( value : ĠLong , Ġlocale : ĠLocale ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠIsland Time . dateTime Text Provider . am Pm Text For ( value , Ġlocale ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġday OfWeek Text For ( value : ĠLong , Ġstyle : ĠTextStyle , Ġlocale : ĠLocale ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠIsland Time . dateTime Text Provider . day OfWeek Text For ( value , Ġstyle , Ġlocale ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġera Text For ( value : ĠLong , Ġstyle : ĠTextStyle , Ġlocale : ĠLocale ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠIsland Time . dateTime Text Provider . era Text For ( value , Ġstyle , Ġlocale ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmonth Text For ( value : ĠLong , Ġstyle : ĠTextStyle , Ġlocale : ĠLocale ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠIsland Time . dateTime Text Provider . month Text For ( value , Ġstyle , Ġlocale ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġpar s able Text For ( field : ĠDateTime Field , Ġstyle : ĠTextStyle , Ġlocale : ĠLocale ): ĠPar s able Text List Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠIsland Time . dateTime Text Provider . pars able Text For ( field , Ġstyle , Ġlocale ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠThe Ġdefault Ġprovider Ġof Ġlocalized Ġdate - time Ġtext Ġfor Ġthe Ġcurrent Ġplatform . Ċ Ġ*/ Ċ expect Ġobject ĠPlatform DateTime Text Provider Ġ: ĠDateTime Text Provider Ċ