/* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 ĠS FE IR ĠS . A . S . Ċ Ġ* Ċ Ġ* Ġ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 Ġcom . s fe ir . open . k beam Ċ Ċ import Ġcom . s fe ir . open . k beam . coder . K ry o Coder Provider Ċ import Ġorg . apache . beam . sdk . Pipeline Ċ import Ġorg . apache . beam . sdk . options . Pipeline Options Ċ import Ġorg . apache . beam . sdk . options . Pipeline Options Factory Ċ import Ġorg . apache . beam . sdk . transforms . P Transform Ċ import Ġorg . apache . beam . sdk . values . P Collection Ċ Ċ /** Ċ Ġ* ĠUtility Ġmethods Ġfor ĠP ipelines Ċ Ġ*/ Ċ object ĠPipe Builder Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCreate Ġa Ġconfigured Ġpipeline Ġfrom Ġarguments ĊĠĠĠĠ Ġ* ĠCustom Ġoptions Ġclass Ġshould Ġbe Ġpassed Ġas Ġa Ġtype Ġparameter ĊĠĠĠĠ Ġ* Ġ@ return Ġ( the Ġpipeline , Ġtyped Ġoptions ) ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinline Ġfun Ġ< re ified ĠR Ġ: ĠPipeline Options > Ġcreate ( args : ĠArray < String >): ĠPair < Pipeline , ĠR > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoptions Ġ= ĠPipeline Options Factory . from Args (* args ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Validation () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. ` as `( R :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġres Ġ= ĠPair ( Pipeline . create ( options ), Ġoptions ) ĊĠĠĠĠĠĠĠ Ġres . first . coder Registry . register Coder Provider ( K ry o Coder Provider ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ /** Ċ Ġ* ĠCreate Ġa Ġcomposite ĠP Transform Ġfrom Ġa Ġchain Ġof ĠP Transforms Ċ Ġ*/ Ċ fun Ġ< I , ĠO > Ġcombine ( combin er : Ġ( col : ĠP Collection < I >) Ġ-> ĠP Collection < O >): ĠP Transform < P Collection < I >, ĠP Collection < O >> Ġ{ ĊĠĠĠ Ġreturn Ġobject Ġ: ĠP Transform < P Collection < I >, ĠP Collection < O >>() Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġexpand ( input : ĠP Collection < I >): ĠP Collection < O > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcombin er ( input ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }