package Ġch . un ib as . d mi . db is . v rem . database Ċ Ċ import Ġch . un ib as . d mi . db is . v rem . model . collection . Art Collection Ċ import Ġch . un ib as . d mi . db is . v rem . model . ex hib ition . Ex hibit Ċ import Ġch . un ib as . d mi . db is . v rem . model . ex hib ition . Ex hib ition Ċ import Ġch . un ib as . d mi . db is . v rem . model . ex hib ition . Ex hib ition Summary Ċ import Ġcom . mongodb . client . Mongo Database Ċ import Ġorg . lit ote . km ongo .* Ċ Ċ /** Ċ Ġ* ĠMongoDB Ġreader Ġfor ĠV REM . Ċ Ġ* Ċ Ġ* Ġ@ param Ġdatabase ĠThe ĠMongo Database Ġobject Ġto Ġcreate Ġthe Ġreader Ġfor . Ċ Ġ*/ Ċ class ĠV REM Reader ( database : ĠMongo Database ) Ġ: ĠV RE MD ao ( database ) Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠChecks Ġwhether Ġan Ġex hib ition Ġwith Ġa Ġgiven Ġname Ġ( string ) Ġexists Ġin Ġthe Ġex hib ition Ġcollection . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġname ĠThe Ġname Ġof Ġthe Ġex hib ition . ĊĠĠĠĠ Ġ* Ġ@ return ĠTrue Ġif Ġthe Ġcollection Ġexists , Ġfalse Ġotherwise . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġexists Ex hib ition ( name : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcol Ġ= Ġget Ex hib ition Collection () ĊĠĠĠĠĠĠĠ Ġreturn Ġcol . find ( Ex hib ition :: name Ġeq Ġname ). any () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRetrieves Ġan Ġex hib ition Ġfrom Ġthe Ġex hib ition Ġcollection Ġby Ġname . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġname ĠThe Ġname Ġof Ġthe Ġex hib ition . ĊĠĠĠĠ Ġ* Ġ@ return ĠThe Ġex hib ition Ġas Ġan Ġobject . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Ex hib ition ( name : ĠString ): ĠEx hib ition Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcol Ġ= Ġget Ex hib ition Collection () ĊĠĠĠĠĠĠĠ Ġreturn Ġcol . findOne ( Ex hib ition :: name Ġeq Ġname ) !! ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRetrieves Ġan Ġex hib ition Ġfrom Ġthe Ġex hib ition Ġcollection Ġby Ġid . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġid ĠThe ĠID Ġof Ġthe Ġex hib ition . ĊĠĠĠĠ Ġ* Ġ@ return ĠThe Ġex hib ition Ġas Ġan Ġobject . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Ex hib ition ( id : ĠId < Ex hib ition >): ĠEx hib ition Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcol Ġ= Ġget Ex hib ition Collection () ĊĠĠĠĠĠĠĠ Ġreturn Ġcol . findOne Ġ{ ĠEx hib ition :: id Ġeq Ġid Ġ} !! ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠOb t ains Ġa Ġlist Ġof Ġex hib itions Ġand Ġtheir Ġrespective ĠID . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠThe Ġgenerated Ġlist . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġlist Ex hib itions (): ĠList < Ex hib ition Summary > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcol Ġ= Ġget Ex hib ition Collection () ĊĠĠĠĠĠĠĠ Ġreturn Ġcol . find (). projection ( Ex hib ition :: id , ĠEx hib ition :: name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĠEx hib ition Summary ( it . id . toString (), Ġit . name ) Ġ}. to Mutable List () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠLists Ġall Ġex hib its Ġin Ġthe Ġcorpus Ġcollection . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠA Ġlist Ġof Ġex hib its . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġlist Ex hib its (): ĠList < Ex hibit > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġart Collections Ġ= Ġdatabase . get Collection < Art Collection >( COR P US _ COLLECTION ) ĊĠĠĠĠĠĠĠ Ġreturn Ġart Collections . find (). first ()?. ex hib its !! ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠList Ġall Ġex hib its Ġthat Ġare Ġcurrently Ġpart Ġof Ġany Ġex hib ition . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠThe Ġlist Ġof Ġall Ġex hib its Ġin Ġthe Ġex hib itions . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġlist Ex hib its From Ex hib itions (): ĠList < Ex hib ition > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġex hib itions Ġ= Ġdatabase . get Collection ( EX HIB ITION _ COLLECTION , ĠEx hib ition :: class . java ) ĊĠĠĠĠĠĠĠ Ġreturn Ġex hib itions . find (). to Mutable List () ĊĠĠĠ Ġ} Ċ Ċ } Ċ