/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 Ġdal ode v Ċ Ġ*/ Ċ package Ġes . lit tled avity . core . factories Ċ Ċ import Ġcom . paul ry bits ky i . h ilt binder . Bind Type Ċ import Ġes . lit tled avity . domain . contacts . entities . Image Ċ import Ġjavax . inject . Inject Ċ Ċ enum Ġclass ĠI gdb Image Size ( internal Ġval Ġraw Size : ĠString ) Ġ{ ĊĊĠĠĠ ĠSMALL _ COVER (" cover _ small "), ĊĠĠĠ ĠBIG _ COVER (" cover _ big "), ĊĊĠĠĠ ĠMED IUM _ SCREEN SHOT (" screenshot _ med "), ĊĠĠĠ ĠBIG _ SCREEN SHOT (" screenshot _ big "), ĊĠĠĠ ĠH U GE _ SCREEN SHOT (" screenshot _ huge "), ĊĊĠĠĠ ĠMED IUM _ LOG O (" logo _ med "), ĊĊĠĠĠ ĠTH UMB NA IL (" thumb "), ĊĠĠĠ ĠMIC RO (" micro "), ĊĊĠĠĠ ĠHD (" 7 2 0 p "), ĊĠĠĠ ĠFULL _ HD (" 1 0 8 0 p ") Ċ } Ċ Ċ enum Ġclass ĠI gdb Image Extension ( internal Ġval Ġraw Extension : ĠString ) Ġ{ ĊĊĠĠĠ ĠJ PG (" jpg "), ĊĠĠĠ ĠPNG (" png ") Ċ } Ċ Ċ interface ĠI gdb ImageUrl Factory Ġ{ ĊĊĠĠĠ Ġdata Ġclass ĠConfig ( ĊĠĠĠĠĠĠĠ Ġval Ġsize : ĠI gdb Image Size , ĊĠĠĠĠĠĠĠ Ġval Ġextension : ĠI gdb Image Extension Ġ= ĠI gdb Image Extension . JPG , ĊĠĠĠĠĠĠĠ Ġval Ġwith Ret ina Size : ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġfun Ġcreate Url ( image : ĠImage , Ġconfig : ĠConfig ): ĠString ? Ċ } Ċ Ċ fun ĠI gdb ImageUrl Factory . create Urls ( ĊĠĠĠ Ġimages : ĠList < Image >, ĊĠĠĠ Ġconfig : ĠI gdb ImageUrl Factory . Config Ċ ): ĠList < String > Ġ{ ĊĠĠĠ Ġif Ġ( images . isEmpty ()) Ġreturn Ġempty List () ĊĊĠĠĠ Ġreturn Ġimages . map NotNull Ġ{ Ġimage Ġ-> ĊĠĠĠĠĠĠĠ Ġcreate Url ( image , Ġconfig ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Bind Type Ċ internal Ġclass ĠI gdb ImageUrl Factory Impl Ġ@ Inject Ġconstructor () Ġ: ĠI gdb ImageUrl Factory Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Url ( image : ĠImage , Ġconfig : ĠI gdb ImageUrl Factory . Config ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( image . id ?. isBlank () Ġ== Ġtrue ) Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġreturn Ġimage . id ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġconstruct Type ( config : ĠI gdb ImageUrl Factory . Config ) Ġ= Ġbuild String Ġ{ ĊĠĠĠĠĠĠĠ Ġappend ( config . size . raw Size ) ĊĠĠĠ Ġ} Ċ } Ċ