package Ġdev . paul shields . chron om ancy . config . service Ċ Ċ import Ġdev . paul shields . chron om ancy . common . Resource FileReader Ċ Ċ class ĠProperty File Parser ( private Ġval Ġresource FileReader : ĠResource FileReader ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġkey Value Regex Ġ= ĠRegex (" (. +) Ġ?= Ġ? (. + )") ĊĊĠĠĠ Ġfun Ġparse ( file Location : ĠString ): ĠMap < String , ĠString > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfile Contents Ġ= Ġresource FileReader . readFile AsString ( file Location ) Ġ?: Ġ"" ĊĠĠĠĠĠĠĠ Ġreturn Ġfile Contents ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. lines () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġ! it . startsWith ("# ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map NotNull (:: extract KeyValuePair From Line ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. toMap () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġextract KeyValuePair From Line ( line : ĠString ) Ġ= Ġkey Value Regex ĊĠĠĠĠĠĠĠ Ġ. find ( line ) ĊĠĠĠĠĠĠĠ Ġ? . let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( it . de structured . component 1 (), Ġit . de structured . component 2 ()) ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ