/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 6 / 2 0 2 0 ĠL it ote Ċ Ġ* Ċ Ġ* Ġ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 Ġorg . bson . code cs . pojo Ċ Ċ /** Ċ Ġ* Ċ Ġ*/ Ċ internal Ġclass ĠEmpty Object Convention Ġ: ĠCon vention 2 Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġapply ( class Model Builder : ĠClass Model Builder 2 <* >) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// if Ġthere Ġis Ġno Ġproperty , Ġthe Ġpo jo Ġmodel Ġis Ġnot Ġusable . ĠThis Ġis Ġa Ġmongo Ġdriver Ġbug , Ġbut Ġuntil Ġthey Ġfix Ġit ... ĊĠĠĠĠĠĠĠ Ġif Ġ( class Model Builder . property Model Builders . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġ" toString " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtype Data Ġ= ĠType Data . builder ( String :: class . java ). build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproperty Metadata Ġ= ĠProperty Metadata ( name , Ġclass Model Builder . type . simple Name , Ġtype Data ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġclass Model Builder . addProperty ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty Model . builder < String >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. propertyName ( name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. read Name ( name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. type Data ( type Data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. property Serialization ( Property Model Serialization Impl ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. property Accessor ( Property AccessorImpl ( property Metadata )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }