/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 Ġn will c @ gmail . com Ċ Ġ* Ċ Ġ* ĠPermission Ġto Ġuse , Ġcopy , Ġmodify , Ġand / or Ġdistribute Ġthis Ġsoftware Ġfor Ġany Ġpurpose Ġwith Ġor Ċ Ġ* Ġwithout Ġfee Ġis Ġhereby Ġgranted , Ġprovided Ġthat Ġthe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ċ Ġ* Ġpermission Ġnotice Ġappear Ġin Ġall Ġcopies . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS " ĠAND ĠTHE ĠAUTHOR ĠDISCLAIM S ĠALL ĠWARRANTIES Ċ Ġ* ĠWITH ĠREG ARD ĠTO ĠTHIS ĠSOFTWARE ĠINCLUDING ĠALL ĠIMPLIED ĠWARRANTIES ĠOF ĠMERCHANTABILITY Ċ Ġ* ĠAND ĠFITNESS . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE ĠAUTHOR ĠBE ĠLIABLE ĠFOR ĠANY ĠSPECIAL , ĠDIRECT , ĠINDIRECT , Ċ Ġ* ĠOR ĠCONSEQUENTIAL ĠDAMAGES ĠOR ĠANY ĠDAMAGES ĠWHAT SO E VER ĠRESULT ING ĠFROM ĠLOSS ĠOF ĠUSE , Ċ Ġ* ĠDATA ĠOR ĠPROFITS , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠNEGLIGENCE ĠOR ĠOTHER ĠTOR TI O US Ċ Ġ* ĠACTION , ĠARISING ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠUSE ĠOR ĠPER FORMANCE ĠOF ĠTHIS ĠSOFTWARE . Ċ Ġ*/ Ċ Ċ package Ġcom . github . n will c . k sn ip . controller Ċ Ċ import Ġcom . github . n will c . k sn ip . model . Preferences Ċ import Ġkotlinx . serialization . json . Json Ċ import Ġkotlinx . serialization . json . Json Configuration Ċ import Ġt orn ad of x . Controller Ċ Ċ import Ġjava . io . File Ċ Ċ /** Ċ Ġ* ĠController Ġregarding Ġ[ Preferences ]. Ċ Ġ* Ġ@ property Ġpreferences Ġthe Ġapplication Ġpreferences . Ċ Ġ*/ Ċ class ĠPreferences Controller Ġ: ĠController () Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġpref File Ġ= ĠFile ( System . getProperty (" user . home "), Ġ". snippets . json ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġpreferences Ġ= ĠPreferences () ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( pref File . can Read ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpreferences Ġ= ĠJson ( Json Configuration . Stable ). parse ( Preferences . serializer (), Ġpref File . read Text ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSave Ġthe Ġapplication Ġpreferences . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġsave Preferences () Ġ{ ĊĠĠĠĠĠĠĠ Ġpref File . delete () ĊĠĠĠĠĠĠĠ Ġpref File . createNew File () ĊĠĠĠĠĠĠĠ Ġpref File . write Text ( Json ( Json Configuration . Stable ). stringify ( Preferences . serializer (), Ġpreferences )) ĊĠĠĠ Ġ} Ċ } Ċ