package Ġio . v rap . rm f . codegen . types Ċ Ċ import Ġcom . google . common . base . Case Format Ċ import Ġio . v rap . rm f . codegen . first UpperCase Ċ import Ġio . v rap . rm f . r aml . model . resources . Method Ċ import Ġio . v rap . rm f . r aml . model . resources . Resource Ċ import Ġio . v rap . rm f . r aml . model . resources . Trait Ċ import Ġio . v rap . rm f . r aml . model . resources . util . Resources Switch Ċ Ċ class ĠResources Type Provider Ġconstructor ( val Ġpackage Provider : ĠPackage Provider ) Ġ: ĠResources Switch < V rap Type >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠclassName Mapper Ġ= ĠCase Format . LOWER _ HY P HEN . converter To ( Case Format . UPPER _ C AME L ) ĊĊĠĠĠ Ġoverride Ġfun Ġcase Resource ( resource : ĠResource ): ĠV rap Type Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠV rap ObjectType ( package Provider . do Switch ( resource ), Ġ"${ className Mapper . convert ( resource . resource Path Name )} Requests ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcase Method ( method : ĠMethod ): ĠV rap Type Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresource Ġ= Ġmethod . e Container () Ġas ĠResource ĊĠĠĠĠĠĠĠ Ġreturn ĠV rap ObjectType ( package Provider . do Switch ( method ), Ġ"${ className Mapper . convert ( resource . resource Path Name )} ${ method . methodName . first UpperCase () }") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcase Trait ( trait : ĠTrait ): ĠV rap Type Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠV rap ObjectType ( package Provider . do Switch ( trait ), Ġ"${ className Mapper . convert ( trait . name )} Trait ") ĊĠĠĠ Ġ} Ċ } Ċ