/* Ċ Ġ* ĠCopyright Ġ 2 0 1 7 - 2 0 2 1 ĠCloud opt Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttps :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġnet . cloud opt . next . grpc Ċ Ċ import Ġio . grpc . Server Interceptor Ċ import Ġkotlin . reflect . K Class Ċ Ċ /** Ċ Ġ* ĠYou Ġcan Ġuse Ġ@ Grpc Service Ġto Ġmark Ġa Ġspecific Ġclass , Ġand Ġthe Ġgrpc Ċ Ġ* Ġplugin Ġwill Ġautomatically Ġscan Ġfor Ġand Ġregister Ġclasses Ġthat Ċ Ġ* Ġhave Ġdeclared Ġthe Ġ@ Grpc Service Ġannotation Ġwhen Ġit Ġstarts . Ċ Ġ* Ġ@ property Ġintercept ors ĠArray < K Class < out ĠServer Interceptor >> Ċ Ġ* Ġ@ constructor Ċ Ġ*/ Ċ @ Retention ( Annotation Retention . RUNTIME ) Ċ @ Target ( Annotation Target . CLASS , ĠAnnotation Target . FILE ) Ċ @ Must Be Document ed Ċ annotation Ġclass ĠGr pc Service ( val Ġintercept ors : ĠArray < K Class < out ĠServer Interceptor >> Ġ= Ġ[]) Ċ