package Ġbr . com . z up . academy . er om bi . controller . request . annotation Ċ Ċ import Ġbr . com . z up . academy . er om bi . controller . request . Nova Key Request Ċ import Ġio . mic ronaut . core . annotation . Annotation Value Ċ import Ġio . mic ronaut . validation . validator . constraints . Constraint Validator Ċ import Ġio . mic ronaut . validation . validator . constraints . Constraint Validator Context Ċ import Ġjak arta . inject . Singleton Ċ import Ġjavax . validation . Constraint Ċ import Ġkotlin . reflect . K Class Ċ Ċ @ Must Be Document ed Ċ @ Target ( Annotation Target . TYPE , ĠAnnotation Target . CLASS ) Ċ @ Retention ( Annotation Retention . RUNTIME ) Ċ @ Constraint ( validated By Ġ= Ġ[ Valid a Key Validator :: class ]) Ċ annotation Ġclass ĠValid a Key Ġ( ĊĠĠĠ Ġval Ġmessage : ĠString Ġ= Ġ" Key Ġinv Ã¡l ida Ġ! ", ĊĠĠĠ Ġval Ġgroups : ĠArray < K Class < Any >> Ġ= Ġ[], ĊĠĠĠ Ġval Ġpayload : ĠArray < K Class < Any >> Ġ= Ġ[]) Ċ Ċ @ Singleton Ċ class ĠValid a Key Validator () ĊĠĠĠ Ġ: ĠConstraint Validator < Valid a Key , ĠN ova Key Request > Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠisValid ( ĊĠĠĠĠĠĠĠ Ġvalue : ĠN ova Key Request ?, ĊĠĠĠĠĠĠĠ Ġannotation Metadata : ĠAnnotation Value < Valid a Key >, ĊĠĠĠĠĠĠĠ Ġcontext : ĠConstraint Validator Context ): ĠBoolean Ġ{ ĊĊĠĠĠĠĠĠĠ Ġreturn Ġvalue ?. key ?. let Ġ{ Ġkey Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . tipo Key ?. valid a Key ( key ) ĊĠĠĠĠĠĠĠ Ġ} Ġ?: Ġtrue ĊĊĠĠĠ Ġ} Ċ Ċ }