package Ġorg . open broker . no . mort gage . model Ċ Ċ import Ġorg . open broker . common . model . Am ort ization Type Ċ import Ġorg . open broker . common . require Min Ċ Ċ data Ġclass ĠOffer ( ĊĠĠĠ Ġval Ġeffective Interest Rate : ĠString , ĊĠĠĠ Ġval Ġnominal Interest Rate : ĠString , ĊĠĠĠ Ġval Ġoffered Credit : ĠInt , ĊĠĠĠ Ġval Ġmonthly Cost : ĠInt ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġmust Ref in ance : ĠInt , ĊĠĠĠ Ġval Ġarrange ment Fee : ĠInt , ĊĠĠĠ Ġval Ġterm Fee : ĠInt , ĊĠĠĠ Ġval Ġinvoice Fee : ĠInt , ĊĠĠĠ Ġval Ġterm Years : ĠInt , ĊĠĠĠ Ġval Ġam ort ization Type : ĠAm ort ization Type Ċ ) Ġ{ ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinterest Rate Regex Ġ= ĠRegex ("^ [ 0 - 9 ]+ (. [ 0 - 9 ]+ )? $ ") ĊĊĠĠĠĠĠĠĠ Ġrequire ( effective Interest Rate . matches ( interest Rate Regex )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Bad Ġformat Ġof Ġeffective Ġinterest Ġrate : Ġ'$ effective Interest Rate '" ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġrequire ( nominal Interest Rate . matches ( interest Rate Regex )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Bad Ġformat Ġof Ġnominal Ġinterest Ġrate : Ġ'$ nominal Interest Rate '" ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoffered Credit . require Min ( 1 , Ġ" offer ed Credit ") ĊĠĠĠĠĠĠĠ Ġmust Ref in ance . require Min ( 0 , Ġ" must Ref in ance ") ĊĠĠĠĠĠĠĠ Ġarrange ment Fee . require Min ( 0 , Ġ" arrange ment Fee ") ĊĠĠĠĠĠĠĠ Ġterm Fee . require Min ( 0 , Ġ" term Fee ") ĊĠĠĠĠĠĠĠ Ġinvoice Fee . require Min ( 0 , Ġ" invoice Fee ") ĊĠĠĠĠĠĠĠ Ġterm Years . require Min ( 1 , Ġ" term Years ") ĊĠĠĠ Ġ} Ċ }