package Ġcom . labs 6 4 . net lic ensing . domain . entity . impl Ċ Ċ import Ġcom . labs 6 4 . net lic ensing . domain . Constants Ċ import Ġcom . labs 6 4 . net lic ensing . domain . entity . License Ċ import Ġcom . labs 6 4 . net lic ensing . domain . entity . License e Ċ import Ġcom . labs 6 4 . net lic ensing . domain . entity . Product Ċ import Ġjava . util . ArrayList Ċ Ċ class ĠLicense e Impl Ġ: ĠBase Entity Impl (), ĠLicense e Ġ{ ĊĊĠĠĠ Ġoverride Ġvar Ġproduct : ĠProduct ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġset ( product ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproduct ?. license es !!. add ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġproduct ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġvar Ġlicenses : ĠMutable Collection < License >? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( field Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . licenses Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfield ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġlicense e Properties : ĠMap < String , ĠString >? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġproperties ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġreserved Props : ĠList < String > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġreserved Ġ= ĠBase Entity Impl . reserved Props ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreserved . add ( Constants . Product . PRODUCT _ NUMBER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreserved . add ( Constants . IN _ USE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreserved . add ( Constants . Vendor . VENDOR _ NUMBER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġreserved ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }