package Ġnet . ig soft . catal yst . utils . property Ċ Ċ import Ġcom . google . common . base . Preconditions Ċ import Ġorg . apache . commons . lang 3 . StringUtils Ċ import Ġjava . util .* Ċ Ċ class ĠProperties Builder Ġ{ ĊĠĠĠ Ġprivate Ġval Ġinternal Map : ĠMutable Map < String , ĠString > Ġ= ĠHashMap () ĊĠĠĠ Ġprivate Ġvar Ġempty Values Allowed Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġvar Ġtrimmed Values Ġ= Ġtrue ĊĊĠĠĠ Ġfun Ġwith Property ( key : ĠString , Ġvalue : ĠString ): ĠProperties Builder Ġ{ ĊĠĠĠĠĠĠĠ Ġinternal Map [ key ] Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwith Map ( property Map : ĠMap < String , ĠString >): ĠProperties Builder Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ(( key , Ġvalue ) Ġin Ġproperty Map ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinternal Map [ key ] Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwith Properties ( properties : ĠProperties ): ĠProperties Builder Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ(( key , Ġvalue ) Ġin Ġproperties ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinternal Map [ key ] Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwith Empty Values Allowed (): ĠProperties Builder Ġ{ ĊĠĠĠĠĠĠĠ Ġempty Values Allowed Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwith Not Trim med Values (): ĠProperties Builder Ġ{ ĊĠĠĠĠĠĠĠ Ġtrimmed Values Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbuild (): ĠProperties Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmap : ĠMutable Map < String , ĠString > Ġ= ĠHashMap () ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( entry Ġin Ġinternal Map . entries ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġkey Ġ= ĠStringUtils . trim To Null ( entry . key . trim ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġvalue Ġ= Ġentry . value ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠPreconditions . check State ( key Ġ!= Ġnull , Ġ" Keys Ġcan Ġnot Ġbe Ġempty Ġor Ġonly Ġwhitespace !") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( trimmed Values ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġvalue . trim () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap [ key ] Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠProperties ( map ) ĊĠĠĠ Ġ} Ċ } Ċ