package Ġorg . jes per anc in ha . enterprise . st aco . jpa . service Ċ Ċ import Ġorg . jes per anc in ha . enterprise . st aco . common . domain . Currency Type . EUR Ċ import Ġorg . jes per anc in ha . enterprise . st aco . common . dto . Response Dto Ċ import Ġorg . jes per anc in ha . enterprise . st aco . jpa . domain . St a Co Ċ import Ġorg . jes per anc in ha . enterprise . st aco . jpa . domain . to Dto Ċ import Ġorg . jes per anc in ha . enterprise . st aco . jpa . repository . St a Co Repository Ċ import Ġorg . springframework . cache . annotation . Cache able Ċ import Ġorg . springframework . data . domain . Page Request Ċ import Ġorg . springframework . data . domain . Sort Ċ import Ġorg . springframework . data . repository . findById OrNull Ċ import Ġorg . springframework . stereotype . Service Ċ import Ġjava . util . Locale Ċ Ċ @ Service Ċ class ĠSt a Co Service ( ĊĠĠĠ Ġval Ġsta Co Repository : ĠSt a Co Repository Ċ ) Ġ{ ĊĠĠĠ Ġfun Ġcreate St aco ( sta Co : ĠSt a Co ): ĠSt a Co Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsta Co Repository . save ( sta Co ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġread St aco ( id : ĠLong ): ĠSt a Co ? Ġ= Ġsta Co Repository . findById OrNull ( id ) ĊĊĠĠĠ Ġfun Ġupdate St aco ( St a Co : ĠSt a Co ): ĠSt a Co Ġ= Ġsta Co Repository . save ( St a Co ) ĊĊĠĠĠ Ġfun Ġdelete St aco ( id : ĠLong ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġsta Co Repository . delete ById ( id ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Cache able (" st acos - all ") ĊĠĠĠ Ġfun ĠgetAll In All By Search Item ( ĊĠĠĠĠĠĠĠ Ġsearch Item Value : ĠString , ĊĠĠĠĠĠĠĠ Ġpage Entities : ĠInt , ĊĠĠĠĠĠĠĠ ĠpageSize Entities : ĠInt , ĊĠĠĠĠĠĠĠ Ġsort Column : ĠString , ĊĠĠĠĠĠĠĠ Ġorder : ĠString , ĊĠĠĠ Ġ): ĠResponse Dto Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġsearch Entities Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsta Co Repository . find St aC os By Description Like Or Year Like Or Value Like Or Currency Like Or Di ameter M ML ike Or Internal Di ameter M ML ike Or Height M ML ike Or Width M ML ike ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġsearch Item Value , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġyear Ġ= Ġsearch Item Value , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġsearch Item Value , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrency Ġ= ĠEUR , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdiameter MM Ġ= Ġsearch Item Value , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinternal Di ameter MM Ġ= Ġsearch Item Value , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheight MM Ġ= Ġsearch Item Value , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwidth MM Ġ= Ġsearch Item Value , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpage able Ġ= ĠPage Request . of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpage Entities , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠpageSize Entities , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSort . by ( Sort . Direction . valueOf ( order . uppercase ( Locale . getDefault ())), Ġsort Column ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġcontent Entities Ġ= Ġsearch Entities . content ĊĊĠĠĠĠĠĠĠ Ġreturn ĠResponse Dto ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsta Co Dto s Ġ= Ġcontent Entities . map Ġ{ Ġit . to Dto Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcurrentPage Ġ= Ġpage Entities , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtotal Records Ġ= Ġsearch Entities . numberOf Elements . to Long (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtotal Pages Ġ= Ġsearch Entities . total Pages . to Long () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }