package Ġcom . c act ust e am . money . data . io Ċ Ċ import Ġjava . util . regex . Pattern Ċ Ċ /** Ċ Ġ* Ġ@ author Ġv pot ap enko Ċ Ġ*/ Ċ internal Ġclass ĠM one fy Line Converter Ġ{ ĊĊĠĠĠ Ġvar Ġshort Form : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġvar Ġdate : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġaccount Name : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġcategory : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġamount : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġcurrency Code : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġcomment : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġdest AccountName : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġfun Ġextract From Line ( line : ĠArray < String >) Ġ{ ĊĠĠĠĠĠĠĠ Ġdate Ġ= Ġline [ 0 ] ĊĠĠĠĠĠĠĠ Ġaccount Name Ġ= Ġline [ 1 ] ĊĠĠĠĠĠĠĠ Ġcategory Ġ= Ġline [ 2 ] ĊĠĠĠĠĠĠĠ Ġamount Ġ= Ġline [ 3 ]. replace ("\\ s ". to Regex (), Ġ"") ĊĠĠĠĠĠĠĠ Ġcurrency Code Ġ= Ġline [ 4 ] ĊĠĠĠĠĠĠĠ Ġcomment Ġ= Ġif Ġ( short Form ) Ġline [ 5 ] Ġelse Ġline [ 7 ] ĊĊĠĠĠĠĠĠĠ Ġhandle Category () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhandle Category () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġmatcher Ġ= ĠFROM _ PATTERN . matcher ( category !! ) ĊĠĠĠĠĠĠĠ Ġif Ġ( matcher . matches ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcategory Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdest AccountName Ġ= Ġnull Ġ// Ġjust Ġskip Ġin Ġtransfers ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġmatcher Ġ= ĠTO _ PATTERN . matcher ( category !! ) ĊĠĠĠĠĠĠĠ Ġif Ġ( matcher . matches ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcategory Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdest AccountName Ġ= Ġmatcher . group ( 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠFROM _ PATTERN Ġ= ĠPattern . compile (" From Ġ\' (.* )\ '") ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠTO _ PATTERN Ġ= ĠPattern . compile (" To Ġ\' (.* )\ '") ĊĠĠĠ Ġ} Ċ } Ċ