package Ġcom . la id pack . s our cer er . generator . resources Ċ Ċ import Ġcom . la id pack . s our cer er . generator . Store Ċ import Ġcom . la id pack . s our cer er . generator . Type Ph ilo sop her Ċ import Ġcom . squareup . kotlin po et . ClassName Ċ import Ġcom . squareup . kotlin po et . TypeName Ċ import Ġcom . squareup . kotlin po et . as TypeName Ċ import Ġjet brains . ex od us . entity store . Entity Ċ import Ġkotlinx . dn q . Xd Entity Ċ import Ġkotlinx . dn q . Xd Enum Entity Ċ import Ġkotlinx . dn q . enum . Xd Enum EntityType Ċ import Ġkotlinx . dn q . query . eq Ċ import Ġkotlinx . dn q . query . first Ċ import Ġkotlinx . dn q . query . query Ċ import Ġkotlinx . dn q . xd Required String Prop Ċ import Ġkotlin . reflect . K Class ĊĊ Ċ enum Ġclass ĠStyle able Attribute Format ( val Ġvalue : Ġkotlin . String , Ġval Ġrequires Qualifier : Ġkotlin . Boolean ) Ġ{ ĊĠĠĠ ĠBoolean (" boolean ", Ġfalse ), ĊĠĠĠ ĠColor (" color ", Ġtrue ), ĊĠĠĠ ĠReference (" reference ", Ġtrue ), ĊĠĠĠ ĠFloat (" float ", Ġfalse ), ĊĠĠĠ ĠDimension (" dimension ", Ġtrue ), ĊĠĠĠ ĠInteger (" integer ", Ġfalse ), ĊĠĠĠ ĠString (" string ", Ġfalse ), ĊĠĠĠ ĠEnum (" enum ", Ġfalse ), ĊĠĠĠ ĠFraction (" fraction ", Ġfalse ), ĊĠĠĠ ĠUn specified ( Ġ"", Ġfalse ); ĊĊĠĠĠ Ġfun Ġto Class (): ĠK Class < *> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBoolean Ġ-> Ġkotlin . Boolean :: class ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor Ġ-> Ġkotlin . Int :: class ĊĠĠĠĠĠĠĠĠĠĠĠ ĠReference Ġ-> Ġkotlin . Int :: class ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFloat Ġ-> Ġkotlin . Float :: class ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDimension Ġ-> Ġkotlin . Int :: class ĊĠĠĠĠĠĠĠĠĠĠĠ ĠInteger Ġ-> Ġkotlin . Int :: class ĊĠĠĠĠĠĠĠĠĠĠĠ ĠString Ġ-> Ġkotlin . String :: class ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEnum Ġ-> Ġkotlin . Int :: class ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFraction Ġ-> Ġkotlin . Float :: class ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUn specified Ġ-> Ġkotlin . Int :: class Ġ// Ġassuming Ġunspecified Ġis Ġinteger Ġ( T BC ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġto Qualifier Annotation ClassName (): ĠClass Name Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor Ġ-> Ġcolor Qualifier ClassName ĊĠĠĠĠĠĠĠĠĠĠĠ ĠReference Ġ-> Ġreference Qualifier ClassName ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDimension Ġ-> Ġdimension Qualifier ClassName ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalStateException (" Format Ġ$ this Ġhas Ġno Ġrequired Ġqualifier ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġto Entity (): ĠX d Format Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠX d Format . query ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠX d Format :: presentation Ġeq Ġthis . name ĊĠĠĠĠĠĠĠ Ġ). first () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcolor Qualifier ClassName Ġ= ĠClass Name ( Type Ph ilo sop her . generated PackageName , Ġ" Color Qualifier ") ĊĠĠĠĠĠĠĠ Ġval Ġreference Qualifier ClassName Ġ= ĠClass Name ( Type Ph ilo sop her . generated PackageName , Ġ" Reference Qualifier ") ĊĠĠĠĠĠĠĠ Ġval Ġdimension Qualifier ClassName Ġ= ĠClass Name ( Type Ph ilo sop her . generated PackageName , Ġ" Dimension Qualifier ") ĊĊĠĠĠĠĠĠĠ Ġfun Ġfrom String ( format String : Ġkotlin . String ): ĠList < Style able Attribute Format > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġformat String . split ("| "). map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget EnumValue By String ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġget EnumValue By String ( value : Ġkotlin . String ): ĠStyle able Attribute Format Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠStyle able Attribute Format . values (). first Ġ{ Ġit . value Ġ== Ġvalue Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġfrom Class ( type : ĠK Class < *> ): ĠStyle able Attribute Format Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfrom TypeName ( type . as TypeName ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġfrom TypeName ( typeName : ĠType Name ): ĠStyle able Attribute Format Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( typeName ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin . Boolean :: class . as TypeName () Ġ-> ĠBoolean ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin . Float :: class . as TypeName () Ġ-> ĠFloat ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin . Int :: class . as TypeName () Ġ-> ĠInteger ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin . String :: class . as TypeName () Ġ-> ĠString ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠUn specified ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠX d Format ( entity : ĠEntity ) Ġ: ĠX d Enum Entity ( entity ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ: ĠX d Enum EntityType < Xd Format >() Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠBoolean Ġby Ġenum Field Ġ{ Ġpresentation Ġ= ĠStyle able Attribute Format . Boolean . name Ġ} ĊĠĠĠĠĠĠĠ Ġval ĠColor Ġby Ġenum Field Ġ{ Ġpresentation Ġ= ĠStyle able Attribute Format . Color . name Ġ} ĊĠĠĠĠĠĠĠ Ġval ĠReference Ġby Ġenum Field Ġ{ Ġpresentation Ġ= ĠStyle able Attribute Format . Reference . name Ġ} ĊĠĠĠĠĠĠĠ Ġval ĠFloat Ġby Ġenum Field Ġ{ Ġpresentation Ġ= ĠStyle able Attribute Format . Float . name Ġ} ĊĠĠĠĠĠĠĠ Ġval ĠDimension Ġby Ġenum Field Ġ{ Ġpresentation Ġ= ĠStyle able Attribute Format . Dimension . name Ġ} ĊĠĠĠĠĠĠĠ Ġval ĠInteger Ġby Ġenum Field Ġ{ Ġpresentation Ġ= ĠStyle able Attribute Format . Integer . name Ġ} ĊĠĠĠĠĠĠĠ Ġval ĠString Ġby Ġenum Field Ġ{ Ġpresentation Ġ= ĠStyle able Attribute Format . String . name Ġ} ĊĠĠĠĠĠĠĠ Ġval ĠEnum Ġby Ġenum Field Ġ{ Ġpresentation Ġ= ĠStyle able Attribute Format . Enum . name Ġ} ĊĠĠĠĠĠĠĠ Ġval ĠFraction Ġby Ġenum Field Ġ{ Ġpresentation Ġ= ĠStyle able Attribute Format . Fraction . name Ġ} ĊĠĠĠĠĠĠĠ Ġval ĠUn specified Ġby Ġenum Field Ġ{ Ġpresentation Ġ= ĠStyle able Attribute Format . Unspecified . name Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġvar Ġpresentation Ġby Ġx d Required String Prop () ĊĊĠĠĠ Ġfun Ġto Enum ( transaction : ĠBoolean Ġ= Ġtrue ): ĠStyle able Attribute Format Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġblock Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenum ValueOf < Style able Attribute Format >( this . presentation ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġif ( transaction ) ĠStore . transaction al Ġ{ Ġblock () Ġ} Ġelse Ġblock () ĊĠĠĠ Ġ} Ċ Ċ }