// ĠCopyright Ġ 2 0 2 1 ĠThe ĠCross - Media ĠMeasurement ĠAuthors Ċ // Ċ // Ġ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 Ċ // Ċ // ĠĠĠĠĠ Ġhttp :// 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 Ġorg . wf an et . measurement . king dom . service . internal Ċ Ċ import Ġorg . wf an et . measurement . common . grpc . fail Grpc Ċ import Ġorg . wf an et . measurement . common . identity . External Id Ċ import Ġorg . wf an et . measurement . internal . common . Provider Ċ Ċ /** Ċ Ġ* ĠIf Ġ[ Provider ] Ġis Ġfor Ġa ĠData Provider , Ġreturns Ġthe ĠData Provider 's Ġ[ External Id ]. Ċ Ġ* Ċ Ġ* ĠIf Ġthe Ġ[ Provider ] Ġis Ġinvalid , Ġthrows Ġa Ġ` Status RuntimeException ` Ġsignal ing Ġan Ġinvalid Ġargument . Ċ Ġ* ĠOtherwise , Ġreturns Ġnull . Ċ Ġ*/ Ċ val ĠProvider . external DataProvider Id : ĠExternal Id ? ĊĠ Ġget () Ġ= Ġget External Id OfType ( Provider . Type . DATA _ PROVIDER ) Ċ Ċ /** Ċ Ġ* ĠIf Ġ[ Provider ] Ġis Ġfor Ġa ĠModel Provider , Ġreturns Ġthe ĠModel Provider 's Ġ[ External Id ]. Ċ Ġ* Ċ Ġ* ĠIf Ġthe Ġ[ Provider ] Ġis Ġinvalid , Ġthrows Ġa Ġ` Status RuntimeException ` Ġsignal ing Ġan Ġinvalid Ġargument . Ċ Ġ* ĠOtherwise , Ġreturns Ġnull . Ċ Ġ*/ Ċ val ĠProvider . external Model Provider Id : ĠExternal Id ? ĊĠ Ġget () Ġ= Ġget External Id OfType ( Provider . Type . MODEL _ PROVIDER ) Ċ Ċ private Ġfun ĠProvider . get External Id OfType ( desired Type : ĠProvider . Type ): ĠExternal Id ? Ġ{ ĊĠ Ġ@ Suppress (" WHEN _ ENUM _ CAN _ BE _ NULL _ IN _ JAVA ") ĊĠ Ġreturn Ġwhen Ġ( type ) Ġ{ ĊĠĠĠ Ġdesired Type Ġ-> ĠExternal Id ( external Id ) ĊĠĠĠ ĠProvider . Type . MODEL _ PROVIDER , ĠProvider . Type . DATA _ PROVIDER Ġ-> Ġnull ĊĠĠĠ ĠProvider . Type . UN RE CO GN IZED , ĠProvider . Type . TYPE _ UNSPECIFIED Ġ-> ĊĠĠĠĠĠ Ġfail Grpc Ġ{ Ġ" Invalid ĠProvider : Ġ$ this " Ġ} ĊĠ Ġ} Ċ } Ċ