/* čĊ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 8 Ġn yr is ĠGmbH čĊ Ġ* čĊ Ġ* Ġ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 Ġio . ny ris . sdk čĊč Ċ import Ġcom . google . gson . Gson č Ċ import Ġdagger . Module č Ċ import Ġdagger . Provides č Ċ import Ġretrofit 2 . Ret rofit č Ċ import Ġjavax . inject . Singleton čĊč Ċ /** čĊ Ġ* ĠService Module . kt Ġ- Ġclass Ġdefines Ġmethods Ġwhich Ġprovide Ġsingleton Ġdependencies Ġfor Ġservice Ġcreation . čĊ Ġ* čĊ Ġ* Ġ@ author ĠS id ali ĠMel lo uk čĊ Ġ* ĠCreated Ġby Ġn yr is ĠGmbH čĊ Ġ* ĠCopyright ĠÂ© Ġ 2 0 1 8 Ġn yr is ĠGmbH . ĠAll Ġrights Ġreserved . čĊ Ġ*/ č Ċ @ Module č Ċ internal Ġclass ĠService Module Ġ{ čĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠProvide ĠS dk ĠScheduler čĊĠĠĠĠ Ġ* ĠUsed Ġto Ġspecify ĠAPI Ġscheduling Ġunits Ġof Ġwork Ġprovided čĊĠĠĠĠ Ġ* čĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġsdk Ġscheduler čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġ@ Provides čĊĠĠĠ Ġ@ Singleton čĊĠĠĠ Ġfun Ġprovide Sdk Scheduler Provider (): ĠS dk Scheduler Provider Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn ĠS dk Scheduler Provider () čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠProvide ĠImage ĠMatch ing ĠService čĊĠĠĠĠ Ġ* ĠUsed Ġas Ġservice Ġto Ġsend Ġimage Ġbyte Ġarray Ġto Ġthe Ġdefined Ġendpoint Ġby Ġthe Ġthe Ġ{@ code Ġservice }. čĊĠĠĠĠ Ġ* čĊĠĠĠĠ Ġ* Ġ@ param Ġretrofit Ġthe Ġretrofit čĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġimage Ġmatching Ġservice čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġ@ Provides čĊĠĠĠ Ġ@ Singleton čĊĠĠĠ Ġfun Ġprovide Image Matching Service ( ret rofit : ĠRet rofit ): ĠImage Matching Service Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn Ġretrofit . create < Image Matching Service >( Image Matching Service :: class . java ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠProvide ĠImage ĠObject ĠProposal ĠService čĊĠĠĠĠ Ġ* ĠUsed Ġas Ġservice Ġto Ġsend Ġimage Ġbyte Ġarray Ġto Ġthe Ġdefined Ġendpoint Ġby Ġthe Ġthe Ġ{@ code Ġservice }. čĊĠĠĠĠ Ġ* čĊĠĠĠĠ Ġ* Ġ@ param Ġretrofit Ġthe Ġretrofit čĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġimage Ġobject Ġproposal Ġservice čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġ@ Provides čĊĠĠĠ Ġ@ Singleton čĊĠĠĠ Ġfun Ġprovide Object Proposal Service ( ret rofit : ĠRet rofit ): ĠObject Proposal Service Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn Ġretrofit . create < Object Proposal Service >( Object Proposal Service :: class . java ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠProvide ĠNot ĠFound ĠMatch ing ĠService čĊĠĠĠĠ Ġ* ĠUsed Ġas Ġservice Ġto Ġmark Ġun recognized Ġimage Ġas Ġnot Ġfound Ġto Ġthe Ġdefined Ġendpoint Ġby Ġthe Ġthe Ġ{@ code Ġservice }. čĊĠĠĠĠ Ġ* čĊĠĠĠĠ Ġ* Ġ@ param Ġretrofit Ġthe Ġretrofit čĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġnot Ġf ount Ġmatching Ġservice čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġ@ Provides čĊĠĠĠ Ġ@ Singleton čĊĠĠĠ Ġfun Ġprovide NotFound Matching Service ( ret rofit : ĠRet rofit ): ĠNotFound Matching Service Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn Ġretrofit . create < NotFound Matching Service >( NotFound Matching Service :: class . java ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠProvide ĠText ĠSearch ĠOffer ĠService čĊĠĠĠĠ Ġ* ĠUsed Ġas Ġservice Ġto Ġsend Ġtext Ġto Ġthe Ġdefined Ġendpoint Ġby Ġthe Ġthe Ġ{@ code Ġservice }. čĊĠĠĠĠ Ġ* čĊĠĠĠĠ Ġ* Ġ@ param Ġretrofit Ġthe Ġretrofit čĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġsearch Ġoffer Ġservice čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġ@ Provides čĊĠĠĠ Ġ@ Singleton čĊĠĠĠ Ġfun Ġprovide Text Search Offer Service ( ret rofit : ĠRet rofit ): ĠText Search Service Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn Ġretrofit . create < Text Search Service >( Text Search Service :: class . java ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠProvide ĠSimilar ity ĠService čĊĠĠĠĠ Ġ* ĠUsed Ġas Ġservice Ġto Ġsend Ġsku Ġto Ġthe Ġdefined Ġendpoint Ġby Ġthe Ġthe Ġ{@ code Ġservice }. čĊĠĠĠĠ Ġ* čĊĠĠĠĠ Ġ* Ġ@ param Ġretrofit Ġthe Ġretrofit čĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġsimilarity Ġservice čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġ@ Provides čĊĠĠĠ Ġ@ Singleton čĊĠĠĠ Ġfun Ġprovide Similarity Service ( ret rofit : ĠRet rofit ): ĠSimilar ity Service Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn Ġretrofit . create < Similarity Service >( Similarity Service :: class . java ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠProvide ĠImage ĠMatch ing ĠApi čĊĠĠĠĠ Ġ* ĠUsed Ġas Ġapi Ġto Ġmatch Ġimage Ġbyte Ġarray . čĊĠĠĠĠ Ġ* čĊĠĠĠĠ Ġ* Ġ@ param Ġimage Matching Service Ġthe Ġimage Ġmatching Ġservice čĊĠĠĠĠ Ġ* Ġ@ param Ġoutput Format Ġthe Ġoutput Ġformat čĊĠĠĠĠ Ġ* Ġ@ param Ġlanguage Ġthe Ġlanguage čĊĠĠĠĠ Ġ* Ġ@ param Ġgson Ġthe Ġgson čĊĠĠĠĠ Ġ* Ġ@ param Ġscheduler Provider Ġthe Ġsk d Ġscheduler čĊĠĠĠĠ Ġ* Ġ@ param Ġapi Header Ġthe Ġapi Ġheader čĊĠĠĠĠ Ġ* Ġ@ param Ġendpoints Ġthe Ġendpoint Ġbuilder čĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġimage Ġmatching Ġapi čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġ@ Provides čĊĠĠĠ Ġ@ Singleton čĊĠĠĠ Ġfun Ġprovide Image Matching Api ( image Matching Service : ĠImage Matching Service , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Output Format Info Ġoutput Format : ĠString , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Language Info Ġlanguage : ĠString , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgson : ĠGson , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscheduler Provider : ĠS dk Scheduler Provider , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapi Header : ĠApi Header , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġendpoints : ĠEndpoint Builder ): ĠI Image Matching Api Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn ĠImage Matching Api ( image Matching Service , Ġoutput Format , Ġlanguage , Ġgson , Ġscheduler Provider , Ġapi Header , Ġendpoints ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠProvide ĠObject ĠProposal ĠApi čĊĠĠĠĠ Ġ* ĠUsed Ġas Ġapi Ġto Ġextract Ġobjects Ġfrom Ġimage Ġbyte Ġarray . čĊĠĠĠĠ Ġ* čĊĠĠĠĠ Ġ* Ġ@ param Ġobject Proposal Service Ġthe Ġobject Ġproposal Ġservice čĊĠĠĠĠ Ġ* Ġ@ param Ġscheduler Provider Ġthe Ġsdk Ġscheduler čĊĠĠĠĠ Ġ* Ġ@ param Ġapi Header Ġthe Ġapi Ġheader čĊĠĠĠĠ Ġ* Ġ@ param Ġendpoints Ġthe Ġendpoint Ġbuilder čĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġobject Ġproposal Ġapi čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġ@ Provides čĊĠĠĠ Ġ@ Singleton čĊĠĠĠ Ġfun Ġprovide Object Proposal Api ( object Proposal Service : ĠObject Proposal Service , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscheduler Provider : ĠS dk Scheduler Provider , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapi Header : ĠApi Header , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġendpoints : ĠEndpoint Builder ): ĠI Object Proposal Api Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn ĠObject Proposal Api ( object Proposal Service , Ġscheduler Provider , Ġapi Header , Ġendpoints ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠProvide ĠNot ĠFound ĠMatch ing ĠApi čĊĠĠĠĠ Ġ* ĠUsed Ġas Ġapi Ġto Ġto Ġset Ġimage Ġ{ X } Ġto Ġbe Ġmatched Ġmanually . čĊĠĠĠĠ Ġ* čĊĠĠĠĠ Ġ* Ġ@ param Ġnot Found Matching Service Ġthe Ġnot Ġfound Ġmatching Ġservice čĊĠĠĠĠ Ġ* Ġ@ param Ġscheduler Provider Ġthe Ġsdk Ġscheduler čĊĠĠĠĠ Ġ* Ġ@ param Ġapi Header Ġthe Ġapi Ġheader čĊĠĠĠĠ Ġ* Ġ@ param Ġendpoints Ġthe Ġendpoint Ġbuilder čĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġnot Ġfound Ġmatching Ġapi čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġ@ Provides čĊĠĠĠ Ġ@ Singleton čĊĠĠĠ Ġfun Ġprovide NotFound Matching Api ( not Found Matching Service : ĠNotFound Matching Service , č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscheduler Provider : ĠS dk Scheduler Provider , č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapi Header : ĠApi Header , č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġendpoints : ĠEndpoint Builder ): ĠIN ot Found Matching Api Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn ĠNotFound Matching Api ( not Found Matching Service , Ġscheduler Provider , Ġapi Header , Ġendpoints ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠProvide ĠText ĠSearch ĠApi čĊĠĠĠĠ Ġ* ĠUsed Ġas Ġapi Ġto Ġsearch Ġoffer Ġbased Ġon Ġthe Ġprovided Ġtext . čĊĠĠĠĠ Ġ* čĊĠĠĠĠ Ġ* Ġ@ param Ġtext Search Service Ġthe Ġtext Ġsearch Ġservice čĊĠĠĠĠ Ġ* Ġ@ param Ġscheduler Provider Ġthe Ġsdk Ġscheduler čĊĠĠĠĠ Ġ* Ġ@ param Ġapi Header Ġthe Ġapi Ġheader čĊĠĠĠĠ Ġ* Ġ@ param Ġendpoints Ġthe Ġendpoint Ġbuilder čĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġtext Ġsearch Ġapi čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġ@ Provides čĊĠĠĠ Ġ@ Singleton čĊĠĠĠ Ġfun Ġprovide Text Search Api ( text Search Service : ĠText Search Service , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Output Format Info Ġoutput Format : ĠString , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Language Info Ġlanguage : ĠString , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgson : ĠGson , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscheduler Provider : ĠS dk Scheduler Provider , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapi Header : ĠApi Header , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġendpoints : ĠEndpoint Builder ): ĠI Text Search Api Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn ĠText Search Api ( text Search Service , Ġoutput Format , Ġlanguage , Ġgson , Ġscheduler Provider , Ġapi Header , Ġendpoints ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠProvide ĠSimilar ity ĠApi čĊĠĠĠĠ Ġ* ĠUsed Ġas Ġapi Ġto Ġget Ġsimilar Ġoffers Ġbased Ġon Ġsku . čĊĠĠĠĠ Ġ* čĊĠĠĠĠ Ġ* Ġ@ param Ġsimilarity Service Ġthe Ġsimilarity Ġservice čĊĠĠĠĠ Ġ* Ġ@ param Ġscheduler Provider Ġthe Ġsdk Ġscheduler čĊĠĠĠĠ Ġ* Ġ@ param Ġapi Header Ġthe Ġapi Ġheader čĊĠĠĠĠ Ġ* Ġ@ param Ġendpoints Ġthe Ġendpoint Ġbuilder čĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġsimilarity Ġapi čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġ@ Provides čĊĠĠĠ Ġ@ Singleton čĊĠĠĠ Ġfun Ġprovide Similarity Api ( similarity Service : ĠSimilar ity Service , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Output Format Info Ġoutput Format : ĠString , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Language Info Ġlanguage : ĠString , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgson : ĠGson , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscheduler Provider : ĠS dk Scheduler Provider , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapi Header : ĠApi Header , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġendpoints : ĠEndpoint Builder ): ĠIS im ilar ity Api Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn ĠSimilar ity Api ( similarity Service , Ġoutput Format , Ġlanguage , Ġgson , Ġscheduler Provider , Ġapi Header , Ġendpoints ) čĊĠĠĠ Ġ} č Ċ } čĊ