/* Ċ Ġ* ĠSPDX - License - Identifier : ĠApache - 2 . 0 Ċ Ġ* Ċ Ġ* ĠThe ĠOpen Search ĠContributors Ġrequire Ġcontributions Ġmade Ġto Ċ Ġ* Ġthis Ġfile Ġbe Ġlicensed Ġunder Ġthe ĠApache - 2 . 0 Ġlicense Ġor Ġa Ċ Ġ* Ġcompatible Ġopen Ġsource Ġlicense . Ċ Ġ* Ċ Ġ* ĠMod ifications ĠCopyright ĠOpen Search ĠContributors . ĠSee Ċ Ġ* ĠGitHub Ġhistory Ġfor Ġdetails . Ċ Ġ*/ Ċ Ċ /* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠAmazon . com , ĠInc . Ġor Ġits Ġaffiliates . ĠAll ĠRights ĠReserved . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "). Ċ Ġ* ĠYou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠA Ġcopy Ġof Ġthe ĠLicense Ġis Ġlocated Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* Ġor Ġin Ġthe Ġ" license " Ġfile Ġaccompanying Ġthis Ġfile . ĠThis Ġfile Ġ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 . opense arch . index management . rollup . action . explain Ċ Ċ import Ġorg . opense arch . action . Action Response Ċ import Ġorg . opense arch . common . io . stream . Stream Input Ċ import Ġorg . opense arch . common . io . stream . Stream Output Ċ import Ġorg . opense arch . common . x content . To X Content Ċ import Ġorg . opense arch . common . x content . To X Content Object Ċ import Ġorg . opense arch . common . x content . X Content Builder Ċ import Ġorg . opense arch . index management . rollup . model . Explain Roll up Ċ import Ġjava . io . IOException Ċ Ċ class ĠEx plain Roll up Response Ġ: ĠAction Response , ĠTo X Content Object Ġ{ ĊĠĠĠ Ġval Ġids To Explain : ĠMap < String , ĠEx plain Roll up ?> ĊĊĠĠĠ Ġconstructor ( ids To Explain : ĠMap < String , ĠEx plain Roll up ?> ) Ġ: Ġsuper () Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . ids To Explain Ġ= Ġids To Explain ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġfun Ġget Ids To Explain (): ĠMap < String , ĠEx plain Roll up ?> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . ids To Explain ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( IOException :: class ) ĊĠĠĠ Ġconstructor ( sin : ĠStream Input ) Ġ: Ġthis ( ĊĠĠĠĠĠĠĠ Ġids To Explain Ġ= Ġsin . let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġids To Explain Ġ= Ġmutable Map Of < String , ĠEx plain Roll up ?> () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġit . read V Int () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġsize ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġids To Explain [ it . readString ()] Ġ= Ġif Ġ( sin . read Boolean ()) ĠEx plain Roll up ( it ) Ġelse Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġids To Explain . toMap () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Throws ( IOException :: class ) ĊĠĠĠ Ġoverride Ġfun ĠwriteTo ( out : ĠStream Output ) Ġ{ ĊĠĠĠĠĠĠĠ Ġout . write V Int ( ids To Explain . size ) ĊĠĠĠĠĠĠĠ Ġids To Explain . entries . forEach Ġ{ Ġ( id , Ġmetadata ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġout . writeString ( id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġout . write Boolean ( metadata Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmetadata ?. writeTo ( out ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( IOException :: class ) ĊĠĠĠ Ġoverride Ġfun Ġto X Content ( builder : ĠX Content Builder , Ġparams : ĠTo X Content . Params ): ĠX Content Builder Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder . start Object () ĊĠĠĠĠĠĠĠ Ġids To Explain . entries . forEach Ġ{ Ġ( id , Ġexplain ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . field ( id , Ġexplain ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġbuilder . end Object () ĊĠĠĠ Ġ} Ċ } Ċ