package Ġcom . generic . controllers Ċ Ċ import Ġcom . generic . models . Generic Colors Ċ Ċ fun Ġgenerate Palette ( request : ĠGeneric Colors . Color Palette Request ): ĠGeneric Colors . Color Palette Response ? Ġ{ ĊĠĠĠ Ġval Ġbase Color Ġ= Ġrequest . color ĊĊĠĠĠ Ġval Ġpalette : ĠList < Generic Colors . Color > Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠ Ġbase Color . color Def . has Hex Mode () Ġ-> Ġgenerate Hex Palette ( base Color . color Def . hex Mode ) ĊĠĠĠĠĠĠĠ Ġbase Color . color Def . has Rgb Mode () Ġ-> Ġgenerate RGB Palette ( base Color . color Def . rgb Mode ) ĊĠĠĠĠĠĠĠ Ġbase Color . color Def . has C my k Mode () Ġ-> Ġgenerate CM YK Palette ( base Color . color Def . c my k Mode ) ĊĠĠĠĠĠĠĠ Ġbase Color . color Def . has H sv Mode () Ġ-> Ġgenerate H SV Palette ( base Color . color Def . h sv Mode ) ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ?: Ġreturn Ġnull ĊĊĠĠĠ Ġreturn ĠGeneric Colors . Color Palette Response ( palette ) Ċ } Ċ Ċ fun Ġgenerate Hex Palette ( color : ĠGeneric Colors . HEX ?): ĠList < Generic Colors . Color > Ġ{ ĊĠĠĠ Ġval Ġh sv Color Ġ= ĠHEX _ 2 _ H SV ( color ) ĊĠĠĠ Ġval Ġh sv Palette Ġ= Ġgenerate Palette ( h sv Color ) ĊĊĠĠĠ Ġreturn Ġh sv Palette . map Ġ{ Ġc Ġ-> Ġbuild HEX Color ( H SV _ 2 _ HEX ( c )) Ġ} Ċ } Ċ Ċ fun Ġgenerate RGB Palette ( color : ĠGeneric Colors . RGB ?): ĠList < Generic Colors . Color > Ġ{ ĊĠĠĠ Ġval Ġh sv Color Ġ= ĠRGB _ 2 _ H SV ( color ) ĊĠĠĠ Ġval Ġh sv Palette Ġ= Ġgenerate Palette ( h sv Color ) ĊĊĠĠĠ Ġreturn Ġh sv Palette . map Ġ{ Ġc Ġ-> Ġbuild RGB Color ( H SV _ 2 _ RGB ( c )) Ġ} Ċ } Ċ Ċ fun Ġgenerate CM YK Palette ( color : ĠGeneric Colors . CM YK ?): ĠList < Generic Colors . Color > Ġ{ ĊĠĠĠ Ġval Ġh sv Color Ġ= ĠC MY K _ 2 _ H SV ( color ) ĊĠĠĠ Ġval Ġh sv Palette Ġ= Ġgenerate Palette ( h sv Color ) ĊĊĠĠĠ Ġreturn Ġh sv Palette . map Ġ{ Ġc Ġ-> Ġbuild CM YK Color ( H SV _ 2 _ CM YK ( c )) Ġ} Ċ } Ċ Ċ fun Ġgenerate H SV Palette ( color : ĠGeneric Colors . H SV ?): ĠList < Generic Colors . Color > Ġ{ ĊĠĠĠ Ġval Ġh sv Palette Ġ= Ġgenerate Palette ( color ) ĊĊĠĠĠ Ġreturn Ġh sv Palette . map Ġ{ Ġc Ġ-> Ġbuild H SV Color ( c ) Ġ} Ċ } Ċ