package Ġcom . dark yen . resource packer Ċ Ċ /** Ċ Ġ* ĠTasks Ġcan Ġcreate Ġimmutable Ġinstances Ġof Ġthis . Ċ Ġ* ĠUser Ġthen Ġcan Ġcreate Ġsetting Ġtuple Ġfrom Ġit : Ċ Ġ* Ġ@ example Ċ Ġ* Ġ{{{ Ċ Ġ* Ġ Ġ// In ĠTask Ċ Ġ* Ġ Ġval ĠPage Size Ġ= ĠSetting Key < Int >(" PageSize ", 1 0 2 4 ," Page Ġsize Ġis Ġthe Ġsize Ġof Ġthe Ġpage ") Ċ Ġ* Ċ Ġ* Ġ Ġ// In Ġcreating Ġpack ing Ġoperation Ċ Ġ* Ġ Ġ... Ġsettings Ġ= ĠSeq ( PageSize Ġ:= Ġ 5 6 , ĠSomething Else Ġ:= Ġtrue , Ġ...) Ġ... Ċ Ġ* Ġ}}} Ċ Ġ* Ġ@ author ĠDark yen Ċ Ġ*/ Ċ class ĠSetting Key < T >( val Ġname : ĠString , Ġprivate Ġval ĠdefaultValue : ĠT , Ġval Ġhelp : ĠString Ġ= Ġ"") Ġ{ ĊĊĠĠĠ Ġin fix Ġfun Ġto ( value : ĠT ): ĠSetting < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠSetting ( this , Ġvalue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġvar Ġactive Value : ĠT Ġ= ĠdefaultValue ĊĊĠĠĠ Ġfun Ġget (): ĠT Ġ= Ġactive Value ĊĊĠĠĠ Ġfun Ġreset () Ġ{ ĊĠĠĠĠĠĠĠ Ġactive Value Ġ= ĠdefaultValue ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġcalling Ġ[[ Setting Key . := () ]] Ġand Ġfed Ġinto Ġthe ĠPack ing Operation Ċ Ġ* Ċ Ġ* Ġ@ author ĠDark yen Ċ Ġ*/ Ċ class ĠSetting < T >( val Ġkey : ĠSetting Key < T >, Ġval Ġvalue : ĠT ) Ġ{ ĊĊĠĠĠ Ġfun Ġactivate () Ġ{ ĊĠĠĠĠĠĠĠ Ġkey . active Value Ġ= Ġvalue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġreset () Ġ{ ĊĠĠĠĠĠĠĠ Ġkey . reset () ĊĠĠĠ Ġ} Ċ }