package Ġat . h ann esm oser . gle am . transforms . generator Ċ Ċ import Ġorg . apache . beam . sdk . io . Generate Sequence Ċ import Ġorg . apache . beam . sdk . schemas . Schema Ċ import Ġorg . apache . beam . sdk . transforms . P Transform Ċ import Ġorg . apache . beam . sdk . values . P Begin Ċ import Ġorg . apache . beam . sdk . values . P Collection Ċ import Ġorg . apache . beam . sdk . values . Row Ċ import Ġorg . joda . time . Duration Ċ Ċ object ĠGenerator Ġ{ ĊĠ Ġfun Ġschema ( ĊĠĠĠ Ġnum Fields : ĠInt Ġ= Ġ 3 , ĊĠĠĠ Ġallowed Types : ĠArray < Schema . TypeName > Ġ= ĠALL _ TY PEN AMES , ĊĠĠĠ Ġmax Depth : ĠInt Ġ= Ġ 2 ĊĠ Ġ) Ġ= Ġschema ( num Fields , Ġallowed Types , Ġ 1 , Ġmax Depth ) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠGenerates Ġa Ġstream Ġof Ġstring Ġelements ĊĠĠ Ġ*/ ĊĠ Ġfun Ġstrings ( ĊĠĠĠ Ġfrom : ĠLong Ġ= Ġ 0 , ĊĠĠĠ Ġnum Elements : ĠLong Ġ= Ġ 1 , ĊĠĠĠ Ġperiod Length : ĠDuration Ġ= ĠDuration . standard Seconds ( 1 ), ĊĠ Ġ) Ġ= ĠGenerate < String >( ĊĠĠĠ Ġfrom , ĊĠĠĠ Ġnum Elements , ĊĠĠĠ Ġperiod Length , ĊĠĠĠ ĠSchema . FieldType . STRING ĊĠ Ġ) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠGenerates Ġa Ġstream Ġof Ġlong Ġelements ĊĠĠ Ġ*/ ĊĠ Ġfun Ġlong s ( ĊĠĠĠ Ġfrom : ĠLong Ġ= Ġ 0 , ĊĠĠĠ Ġnum Elements : ĠLong Ġ= Ġ 1 , ĊĠĠĠ Ġperiod Length : ĠDuration Ġ= ĠDuration . standard Seconds ( 1 ), ĊĠ Ġ) Ġ= ĠGenerate < Long >( ĊĠĠĠ Ġfrom , ĊĠĠĠ Ġnum Elements , ĊĠĠĠ Ġperiod Length , ĊĠĠĠ ĠSchema . FieldType . INT 6 4 ĊĠ Ġ) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠGenerates Ġa Ġstream Ġof Ġrow Ġelements ĊĠĠ Ġ*/ ĊĠ Ġfun Ġrows ( ĊĠĠĠ Ġfrom : ĠLong Ġ= Ġ 0 , ĊĠĠĠ Ġnum Elements : ĠLong Ġ= Ġ 1 , ĊĠĠĠ Ġperiod Length : ĠDuration Ġ= ĠDuration . standard Seconds ( 1 ), ĊĠĠĠ Ġschema : ĠSchema ĊĠ Ġ) Ġ= ĠGenerate < Row >( ĊĠĠĠ Ġfrom , ĊĠĠĠ Ġnum Elements , ĊĠĠĠ Ġperiod Length , ĊĠĠĠ ĠSchema . FieldType . row ( schema ) ĊĠ Ġ) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠGenerates Ġa Ġsequence Ġof Ġlong Ġelements ĊĠĠ Ġ*/ ĊĠ Ġfun Ġsequence ( ĊĠĠĠ Ġfrom : ĠLong Ġ= Ġ 0 , ĊĠĠĠ Ġnum Elements : ĠLong Ġ= Ġ 1 , ĊĠĠĠ Ġperiod Length : ĠDuration Ġ= ĠDuration . standard Seconds ( 1 ), ĊĠ Ġ) Ġ= Ġobject Ġ: ĠP Transform < P Begin , ĠP Collection < Long >>() Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġexpand ( input : ĠP Begin ) Ġ= Ġinput ĊĠĠĠĠĠ Ġ. apply ( ĊĠĠĠĠĠĠĠ ĠGenerate Sequence . from ( from ) ĊĠĠĠĠĠĠĠĠĠ Ġ. with Rate ( num Elements , Ġperiod Length ) ĊĠĠĠĠĠ Ġ) ĊĠ Ġ} Ċ } Ċ