package Ġshapes . feature . data Ċ Ċ import Ġjavax . inject . Inject Ċ import Ġshapes . database . Shape Data Entity Ċ import Ġshapes . database . Shape Data Entity . Shape Type Ċ import Ġshapes . feature . domain . Shape Domain Entity Ċ Ċ class ĠShape Domain Mapper Ġ@ Inject Ġconstructor () Ġ{ ĊĊĠĠĠ Ġfun Ġapply ( data Entity : ĠShape Data Entity ): ĠShape Domain Entity Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġwhen Ġ( data Entity . type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠShape Type . CIR CLE Ġ-> ĠShape Domain Entity . Type . CIR CLE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠShape Type . S QUARE Ġ-> ĠShape Domain Entity . Type . S QUARE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠShape Type . TRI ANGLE Ġ-> ĠShape Domain Entity . Type . TRI ANGLE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠShape Domain Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Entity . id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ