/* Ċ Ġ* ĠLicensed Ġto Ġthe ĠApache ĠSoftware ĠFoundation Ġ( ASF ) Ġunder Ġone Ċ Ġ* Ġor Ġmore Ġcontributor Ġlicense Ġagreements . Ġ ĠSee Ġthe ĠNOTICE Ġfile Ċ Ġ* Ġdistributed Ġwith Ġthis Ġwork Ġfor Ġadditional Ġinformation Ċ Ġ* Ġregarding Ġcopyright Ġownership . Ġ ĠThe ĠASF Ġlicenses Ġthis Ġfile Ċ Ġ* Ġto Ġyou Ġ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 . apache . t inker pop 4 . gre mlin . process . traversal Ċ Ċ import Ġorg . apache . commons . configuration 2 . Configuration Ċ Ċ /** Ċ Ġ* ĠProvides Ġa Ġunified Ġway Ġto Ġconstruct Ġa Ġ[ Traversal Source ] Ġfrom Ġthe Ġperspective Ġof Ġthe Ġtraversal . ĠIn Ġthis Ġsyntax Ċ Ġ* Ġthe Ġuser Ġis Ġcreating Ġthe Ġsource Ġand Ġbinding Ġit Ġto Ġa Ġreference Ġwhich Ġis Ġeither Ġan Ġexisting Ġ[ Graph ] Ġinstance Ċ Ġ* Ġor Ġa Ġ[ Remote Connection ]. Ċ Ġ* Ċ Ġ* Ġ@ author ĠSte phen ĠM allet te Ġ( http :// ste phen . gen op ri me . com ) Ċ Ġ*/ Ċ class ĠAn onymous Traversal Source < T Ġ: ĠTra versal Source ?> Ġprivate Ġconstructor ( traversal Source Class : ĠClass < T >) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġtraversal Source Class : ĠClass < T > ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . traversal Source Class Ġ= Ġtraversal Source Class ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCreates Ġa Ġ[ Traversal Source ] Ġbinding Ġa Ġ[ Remote Connection ] Ġto Ġa Ġremote Ġ[ Graph ] Ġinstances Ġas Ġits ĊĠĠĠĠ Ġ* Ġreference Ġso Ġthat Ġtra vers als Ġspawn ed Ġfrom Ġit Ġwill Ġexecute Ġover Ġthat Ġreference . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġconfig File Ġa Ġpath Ġto Ġa Ġfile Ġthat Ġwould Ġnormally Ġbe Ġprovided Ġto Ġconfigure Ġa Ġ[ Remote Connection ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġwith Remote ( configFile : ĠString ?): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfigs Ġ= ĠConfigur ations () ĊĠĠĠĠĠĠĠ Ġreturn Ġwith Remote ( configs . properties ( configFile )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCreates Ġa Ġ[ Traversal Source ] Ġbinding Ġa Ġ[ Remote Connection ] Ġto Ġa Ġremote Ġ[ Graph ] Ġinstances Ġas Ġits ĊĠĠĠĠ Ġ* Ġreference Ġso Ġthat Ġtra vers als Ġspawn ed Ġfrom Ġit Ġwill Ġexecute Ġover Ġthat Ġreference . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġconf Ġa Ġ` Configuration ` Ġobject Ġthat Ġwould Ġnormally Ġbe Ġprovided Ġto Ġconfigure Ġa Ġ[ Remote Connection ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġwith Remote ( conf : ĠConfiguration ?): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwith Remote ( Remote Connection . from ( conf )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCreates Ġa Ġ[ Traversal Source ] Ġbinding Ġa Ġ[ Remote Connection ] Ġto Ġa Ġremote Ġ[ Graph ] Ġinstances Ġas Ġits ĊĠĠĠĠ Ġ* Ġreference Ġso Ġthat Ġtra vers als Ġspawn ed Ġfrom Ġit Ġwill Ġexecute Ġover Ġthat Ġreference . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġwith Remote ( remote Connection : ĠRemote Connection ?): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtraversal Source Class . get Constructor ( Remote Connection :: class . java ). newInstance ( remote Connection ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException ( e . getMessage (), Ġe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCreates Ġthe Ġspecified Ġ[ Traversal Source ] Ġbinding Ġan Ġembedded Ġ[ Graph ] Ġas Ġits Ġreference Ġsuch Ġthat ĊĠĠĠĠ Ġ* Ġtra vers als Ġspawn ed Ġfrom Ġit Ġwill Ġexecute Ġover Ġthat Ġreference . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Deprecated ĊĠĠĠ Ġ@ Deprecated (" As Ġof Ġrelease Ġ 3 . 4 . 9 , Ġreplaced Ġby Ġ{@ link Ġ# with Embedded ( Graph )} ") ĊĠĠĠ Ġfun Ġwith Graph ( graph : ĠGraph ?): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwith Embedded ( graph ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCreates Ġthe Ġspecified Ġ[ Traversal Source ] Ġbinding Ġan Ġembedded Ġ[ Graph ] Ġas Ġits Ġreference Ġsuch Ġthat ĊĠĠĠĠ Ġ* Ġtra vers als Ġspawn ed Ġfrom Ġit Ġwill Ġexecute Ġover Ġthat Ġreference . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġwith Embedded ( graph : ĠGraph ?): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtraversal Source Class . get Constructor ( Graph :: class . java ). newInstance ( graph ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException ( e . getMessage (), Ġe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠConstructs Ġan Ġ` Anonymous Traversal Source ` Ġwhich Ġwill Ġthen Ġbe Ġconfigured Ġto Ġspawn Ġa ĊĠĠĠĠĠĠĠĠ Ġ* Ġ[ Graph Traversal Source ]. ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġtraversal (): ĠAn onymous Traversal Source < Graph Traversal Source > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtraversal ( Graph Traversal Source :: class . java ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠConstructs Ġan Ġ` Anonymous Traversal Source ` Ġwhich Ġwill Ġthen Ġbe Ġconfigured Ġto Ġspawn Ġthe Ġspecified ĊĠĠĠĠĠĠĠĠ Ġ* Ġ[ Traversal Source ]. ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġ< T Ġ: ĠTra versal Source ?> Ġtraversal ( traversal Source Class : ĠClass < T >): ĠAn onymous Traversal Source < T > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠAn onymous Traversal Source ( traversal Source Class ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }