package Ġcom . b ri ar sh ore . rule Ċ Ċ import Ġcom . b ri ar sh ore . rule . actions . Action Ċ import Ġcom . b ri ar sh ore . rule . conditions . Condition Ċ import Ġcom . google . common . collect . Table Ċ import Ġorg . apache . commons . lang 3 . StringUtils Ċ import Ġorg . apache . poi . ss . util . Cell Reference . convert Num To Col String Ċ Ċ /** Ċ Ġ* ĠClass : ĠStart Date Rule Builder Ċ Ġ*/ Ċ class ĠSample Rule Container Builder < T >( name : ĠString , Ġrule Type : ĠRule Type ?, Ġvalues : ĠTable < String , ĠString , ĠString >) Ġ: ĠRule Container Builder < T >( name , Ġrule Type , Ġvalues ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Rule Id ( columns : ĠMap < String , ĠString >? ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠInteger . valueOf ( StringUtils . default If Blank < String >( if Ġ( null Ġ== Ġcolumns ) Ġ"" Ġelse Ġcolumns . get OrDefault ( COLUMN _ INDEX _ A _ RULE _ ID , Ġ"- 1 "), Ġ"- 1 ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetDescription ( columns : ĠMap < String , ĠString >): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠStringUtils . trim To Empty ( columns [ COLUMN _ INDEX _ B _ DESCRIPTION ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Conditions ( columns : ĠMap < String , ĠString >): ĠCollection < Condition < T >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġmutable Set Of < Condition < T >>() ĊĠĠĠĠĠĠĠ Ġadd ( result , ĠCondition Factory . effective ( true , ĠCondition Factory . as DateTime ( columns [ COLUMN _ INDEX _ C _ EFFECT IVE _ DATE ]), ĠCondition Factory . as DateTime ( columns [ COLUMN _ INDEX _ D _ EXPI RATION _ DATE ]))) ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Actions ( columns : ĠMap < String , ĠString >): ĠCollection < Action < T >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmutable Set Of () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġindex Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠCOLUMN _ INDEX _ A _ RULE _ ID Ġ= Ġconvert Num To Col String ( index ++) ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠCOLUMN _ INDEX _ B _ DESCRIPTION Ġ= Ġconvert Num To Col String ( index ++) ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠCOLUMN _ INDEX _ C _ EFFECT IVE _ DATE Ġ= Ġconvert Num To Col String ( index ++) ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠCOLUMN _ INDEX _ D _ EXPI RATION _ DATE Ġ= Ġconvert Num To Col String ( index ++) ĊĠĠĠ Ġ} Ċ } Ċ