package Ġcom . by but ter . sis y ph us . middleware . hbase Ċ Ċ import Ġorg . springframework . beans . factory . config . Configurable List able BeanFactory Ċ import Ġorg . springframework . beans . factory . get Beans OfType Ċ import Ġorg . springframework . beans . factory . support . Autow ire Candidate Qualifier Ċ import Ġorg . springframework . beans . factory . support . Bean Definition Builder Ċ import Ġorg . springframework . beans . factory . support . Bean Definition Registry Ċ import Ġorg . springframework . beans . factory . support . Bean Definition Registry Post Processor Ċ import Ġorg . springframework . boot . context . properties . bind . Binder Ċ import Ġorg . springframework . context . Environment Aware Ċ import Ġorg . springframework . core . env . Environment Ċ import Ġorg . springframework . stereotype . Component Ċ Ċ @ Component Ċ class ĠH Table Template Registrar Ġ: ĠBean Definition Registry Post Processor , ĠEnvironment Aware Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġenvironment : ĠEnvironment ĊĊĠĠĠ Ġoverride Ġfun Ġset Environment ( environment : ĠEnvironment ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . environment Ġ= Ġenvironment ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġpost Process BeanFactory ( bean Factory : ĠConfigur able List able BeanFactory ) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġpost Process Bean Definition Registry ( registry : ĠBean Definition Registry ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbean Factory Ġ= Ġregistry Ġas ĠConfigur able List able BeanFactory ĊĊĠĠĠĠĠĠĠ Ġval Ġproperties Ġ= Ġbean Factory . get Beans OfType < H Base Table Property >(). to Mutable Map () ĊĠĠĠĠĠĠĠ Ġval Ġh base Properties Ġ= ĠB inder . get ( environment ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. bind (" sis y ph us ", ĠH Base Table Properties :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. orElse ( null )?. hbase Ġ?: Ġmap Of () ĊĊĠĠĠĠĠĠĠ Ġproperties Ġ+= Ġh base Properties ĊĊĠĠĠĠĠĠĠ Ġif Ġ( properties . isEmpty ()) Ġreturn ĊĊĠĠĠĠĠĠĠ Ġfor Ġ(( name , Ġproperty ) Ġin Ġproperties ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbean Name Ġ= Ġ"$ BE AN _ NAME _ PREFIX :$ name " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbean Definition Ġ= ĠBean Definition Builder . generic Bean Definition ( H Table Template :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfactory Ġ= Ġbean Factory . getBean ( H Base Template Factory :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfactory . create Template ( property ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. bean Definition ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbean Definition . add Qualifier ( Autow ire Candidate Qualifier ( property . qual ifier )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġregistry . register Bean Definition ( bean Name , Ġbean Definition ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠBE AN _ NAME _ PREFIX Ġ= Ġ" sis y ph us : hbase " ĊĠĠĠ Ġ} Ċ } Ċ