/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 6 - 2 0 1 9 ĠHERE ĠEurope ĠB . V . Ċ Ġ* Ċ Ġ* Ġ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 . Ċ Ġ* Ċ Ġ* ĠSPDX - License - Identifier : ĠApache - 2 . 0 Ċ Ġ* ĠLicense - Filename : ĠLICENSE Ċ Ġ*/ Ċ Ċ package Ġcom . here . glue co di um . generator . common . model builder Ċ Ċ import Ġcom . here . glue co di um . common . Context Based Model Builder Ċ import Ġcom . here . glue co di um . common . Model Builder Context Stack Ċ import Ġcom . here . glue co di um . model . common . Comments Ċ import Ġcom . here . glue co di um . model . lime . L ime AttributeType . DEPRECATED Ċ import Ġcom . here . glue co di um . model . lime . L ime Attribute ValueType . MESSAGE Ċ import Ġcom . here . glue co di um . model . lime . L ime Comment Ċ import Ġcom . here . glue co di um . model . lime . L ime Constant Ċ import Ġcom . here . glue co di um . model . lime . L ime Container With Inheritance Ċ import Ġcom . here . glue co di um . model . lime . L ime Element Ċ import Ġcom . here . glue co di um . model . lime . L ime Enumerator Ċ import Ġcom . here . glue co di um . model . lime . L ime Exception Ċ import Ġcom . here . glue co di um . model . lime . L ime Function Ċ import Ġcom . here . glue co di um . model . lime . L ime Named Element Ċ import Ġcom . here . glue co di um . model . lime . L ime Struct Ċ import Ġcom . here . glue co di um . model . lime . L ime Type Alias Ċ import Ġcom . here . glue co di um . model . lime . L ime Value Ċ Ċ abstract Ġclass ĠAbstract L ime Based Model Builder < E >( ĊĠĠĠ Ġcontext Stack : ĠModel Builder Context Stack < E > Ċ ) Ġ: ĠContext Based Model Builder < E >( context Stack ), ĠL ime Based Model Builder Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠMapping Ġof ĠLI ME Ġfull Ġname Ġto Ġmodel Ġfull Ġname . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġreference Map Ġ= Ġmutable Map Of < String , ĠE >() ĊĠĠĠ Ġval Ġreverse Reference Map Ġ= Ġmutable Map Of < E , ĠString >() ĊĊĠĠĠ Ġoverride Ġfun Ġstart Building ( lime Element : ĠL ime Element ) Ġ= Ġopen Context () ĊĠĠĠ Ġoverride Ġfun Ġstart Building ( lime Container : ĠL ime Container With Inheritance ) Ġ= Ġopen Context () ĊĠĠĠ Ġoverride Ġfun Ġstart Building ( lime Struct : ĠL ime Struct ) Ġ= Ġopen Context () ĊĊĠĠĠ Ġoverride Ġfun Ġfinish Building ( lime TypeDef : ĠL ime Type Alias ) Ġ= Ġclose Context () ĊĠĠĠ Ġoverride Ġfun Ġfinish Building ( lime Enumerator : ĠL ime Enumerator ) Ġ= Ġclose Context () ĊĠĠĠ Ġoverride Ġfun Ġfinish Building ( lime Constant : ĠL ime Constant ) Ġ= Ġclose Context () ĊĠĠĠ Ġoverride Ġfun Ġfinish Building ( lime Value : ĠL ime Value ) Ġ= Ġclose Context () ĊĠĠĠ Ġoverride Ġfun Ġfinish Building ( lime Exception : ĠL ime Exception ) Ġ= Ġclose Context () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠStore Ġa Ġresult Ġwhich Ġhas Ġa Ġdirect Ġmapping Ġto Ġa Ġlime Ġmodel Ġname . ĠThis Ġis Ġused Ġto Ġtransform ĊĠĠĠĠ Ġ* Ġlinks Ġin Ġcomments Ġfrom Ġlime Ġto Ġlanguage Ġmodel . Ġ" Amb iguous " ĠLI ME Ġreferences Ġ( i . e . Ġwhen Ġthe ĊĠĠĠĠ Ġ* Ġdis amb ig uation Ġsuffix Ġis Ġomitted ) Ġand Ġfull - signature Ġfunction Ġreferences Ġare Ġalso Ġallowed . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġfun Ġstore Named Result ( lime Element : ĠL ime Named Element , Ġelement : ĠE ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstore Result ( element ) ĊĠĠĠĠĠĠĠ Ġreference Map [ lime Element . fullName ] Ġ= Ġelement ĊĠĠĠĠĠĠĠ Ġval Ġambiguous Key Ġ= Ġlime Element . path . with Suffix (" "). toString () ĊĠĠĠĠĠĠĠ Ġreference Map [ amb iguous Key ] Ġ= Ġelement ĊĠĠĠĠĠĠĠ Ġif Ġ( lime Element Ġis ĠL ime Function ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsignature Key Ġ= Ġambiguous Key Ġ+ Ġlime Element . parameters ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. join ToString ( prefix Ġ= Ġ" (", Ġpostfix Ġ= Ġ" )", Ġseparator Ġ= Ġ", ") Ġ{ Ġit . type Ref . toString () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreference Map [ signature Key ] Ġ= Ġelement ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreverse Reference Map [ element ] Ġ= Ġambiguous Key ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġcreate Comments ( lime Element : ĠL ime Named Element , Ġplatform : ĠString ) Ġ= ĊĠĠĠĠĠĠĠ ĠComments ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlime Element . comment . get For ( platform ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlime Element . attributes . get ( DEPRECATED , ĠMESSAGE , ĠL ime Comment :: class . java )?. get For ( platform ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlime Element . comment . is Excluded ĊĠĠĠĠĠĠĠ Ġ) Ċ } Ċ