package Ġcom . we ed ow . spring . data . search . autoconfigure Ċ Ċ import Ġcom . we ed ow . spring . data . search . alias . Alias Resolver Ċ import Ġcom . we ed ow . spring . data . search . alias . Alias Resolver Registry Ċ import Ġcom . we ed ow . spring . data . search . config . Search Configurer Ċ import Ġorg . apache . commons . lang 3 . StringUtils Ċ import Ġorg . springframework . boot . autoconfigure . condition . Conditional On Class Ċ import Ġorg . springframework . context . annotation . Configuration Ċ import Ġjava . lang . reflect . Field Ċ Ċ /** Ċ Ġ* ĠAuto - Configuration Ġto Ġregister Ġdefault Ġalias Ġresolver s . Ċ Ġ*/ Ċ @ Configuration Ċ @ Conditional On Class ( Search Configurer :: class ) Ċ class ĠData Search Default Alias Configurer Auto Configuration Ġ: ĠSearch Configurer Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġadd Alias Resolvers ( registry : ĠAlias Resolver Registry ) Ġ{ ĊĠĠĠĠĠĠĠ Ġregistry . add Alias Resolver ( Default Alias Resolver ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDefault ĠAlias ĠResolver Ġthat Ġcreate Ġa Ġnew Ġalias Ġfor Ġall Ġfields Ġending Ġwith Ġ' Entity ' Ġor Ġ' Entities '. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠThe Ġresolved Ġalias Ġis Ġthe Ġfield Ġname Ġwithout Ġ' Entity ' Ġand Ġ' Entities '. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġclass ĠDefault Alias Resolver Ġ: ĠAlias Resolver Ġ{ ĊĊĠĠĠĠĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠField Ġsuffix es Ġto Ġbe Ġremoved ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval ĠFIELD _ SUFFIX ES Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Entity ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Entities " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġsupports ( entity Class : ĠClass <* >, Ġfield : ĠField ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġresolve ( entity Class : ĠClass <* >, Ġfield : ĠField ): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠfieldName Ġ= Ġfield . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( field Suffix Ġin ĠFIELD _ SUFFIX ES ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( fieldName . endsWith ( field Suffix )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠlistOf ( StringUtils . substring Before ( fieldName , Ġfield Suffix )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġempty List () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }