package Ġde . fh do . lemma . model _ processing . code _ generation . spring cloud . handlers . aspect s Ċ Ċ import Ġcom . github . jav ap ar ser . ast . Node Ċ import Ġcom . github . jav ap ar ser . ast . body . Field Declaration Ċ import Ġcom . github . jav ap ar ser . ast . expr . Normal Annotation Expr Ċ import Ġde . fh do . lemma . data . intermediate . Intermediate Data Field Ċ import Ġde . fh do . lemma . data . intermediate . Intermediate Imported Aspect Ċ import Ġde . fh do . lemma . model _ processing . code _ generation . java _ base . ast . Import Target ElementType Ċ import Ġde . fh do . lemma . model _ processing . code _ generation . java _ base . ast . add Dependency Ċ import Ġde . fh do . lemma . model _ processing . code _ generation . java _ base . ast . add Import Ċ import Ġde . fh do . lemma . model _ processing . code _ generation . java _ base . getProperty Value Ċ import Ġde . fh do . lemma . model _ processing . code _ generation . java _ base . handlers . Aspect Handler Ċ import Ġde . fh do . lemma . model _ processing . code _ generation . java _ base . handlers . Aspect Handler I Ċ import Ġde . fh do . lemma . model _ processing . code _ generation . java _ base . handlers . combin ations Ċ import Ġde . fh do . lemma . model _ processing . code _ generation . spring cloud . add Value Ċ import Ġorg . eclipse . emf . ecore . EObject Ċ Ċ /** Ċ Ġ* ĠHandler Ġfor Ġthe Ġjava . Attribute Override Column Ġand Ġjava . Attribute Override Ġaspects . Ċ Ġ* Ċ Ġ* Ġ@ author Ġ[ Fl orian ĠR ade m acher ]( mailto : fl orian . r ade m acher @ fh - d ort m und . de ) Ċ Ġ*/ Ċ @ Aspect Handler Ċ internal Ġclass ĠAttribute Override Column Handler Ġ: ĠAs pect Handler I Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġhandles Aspect s () Ġ= Ġset Of (" java . Attribute Override Column ", Ġ" java . Attribute Override ") ĊĠĠĠ Ġoverride Ġfun Ġhandles EObject Node Combin ations () Ġ= Ġcombinations Ġ{ ĊĠĠĠĠĠĠĠ ĠInter mediate Data Field :: class . java Ġwith ĠField Declaration :: class . java ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠExecution Ġlogic Ġof Ġthe Ġhandler ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġexecute ( e Object : ĠE Object , Ġnode : ĠNode , Ġaspect : ĠInter mediate Imported Aspect ) Ġ: ĠNode Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgenerated Field Ġ= Ġnode Ġas ĠField Declaration ĊĠĠĠĠĠĠĠ Ġgenerated Field . add Dependency (" org . springframework . boot : spring - boot - starter - data - jpa ") ĊĊĠĠĠĠĠĠĠ Ġvar Ġattribute Overrides Annotation Ġ= Ġgenerated Field . getAnnotation ByName (" Attribute Overrides "). orElse ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġas ? ĠNormal Annotation Expr ĊĠĠĠĠĠĠĠ Ġif Ġ( attribute Overrides Annotation Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgenerated Field . add Import (" javax . persistence . Attribute Overrides ", ĠImport Target ElementType . AN NOT ATION ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattribute Overrides Annotation Ġ= Ġgenerated Field . add AndGet Annotation (" Attribute Overrides ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġgenerated Field . add Import (" javax . persistence . Attribute Override ", ĠImport Target ElementType . AN NOT ATION ) ĊĠĠĠĠĠĠĠ Ġgenerated Field . add Import (" javax . persistence . Column ", ĠImport Target ElementType . AN NOT ATION ) ĊĠĠĠĠĠĠĠ Ġval Ġoverride Name Ġ= Ġaspect . getProperty Value (" name ") ĊĠĠĠĠĠĠĠ Ġval ĠcolumnName Ġ= Ġaspect . getProperty Value (" column ") ĊĠĠĠĠĠĠĠ Ġattribute Overrides Annotation !!. add Value (" value ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"@ Attribute Override ( name Ġ= Ġ\"$ override Name \", Ġcolumn Ġ= Ġ@ Column ( name Ġ= Ġ\"$ columnName \" )) ") ĊĊĠĠĠĠĠĠĠ Ġreturn Ġnode ĊĠĠĠ Ġ} Ċ }