/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 Ġthe Ġoriginal Ġauthor Ġor Ġauthors . Ċ Ġ* Ċ Ġ* Ġ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 Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttps :// 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 . Ċ Ġ*/ Ċ package Ġorg . tr ails . generator Ċ Ċ import Ġorg . tr ails . model . Entity Ċ import Ġorg . tr ails . symbol . Type Ċ import Ġorg . tr ails . utils . to Comment Text Ċ import Ġorg . tr ails . utils . to Pas cal Case Ċ import Ġjava . io . FileWriter Ċ import Ġjava . io . IOException Ċ import Ġjava . io . Writer Ċ Ċ /** Ċ Ġ* ĠJava Bean ĠTR ails ĠGenerator . Ċ Ġ* Ċ Ġ* Ġ@ author Ġ ĠJo el ĠSch illing Ċ Ġ* Ġ@ version Ġ 1 . 0 , Ġ 0 1 / 3 0 / 2 0 2 1 Ċ Ġ* Ġ@ since ĠĠĠ 1 . 0 Ċ Ġ*/ Ċ class ĠJava Bean Generator Ġprivate Ġconstructor ( writer Ġ: ĠWriter ) Ġ: ĠSimple Generator ( writer ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġvisit Entity ( entity : ĠEntity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġpackage ĊĠĠĠĠĠĠĠ Ġwrite Ln (" package Ġorg . s child aw g .${ entity . module }; ") ĊĠĠĠĠĠĠĠ Ġwrite Ln () ĊĊĠĠĠĠĠĠĠ Ġ// Ġimports ĊĠĠĠĠĠĠĠ Ġwrite Ln (" import Ġjava . io . Serializable ; ") ĊĠĠĠĠĠĠĠ Ġwrite Ln () ĊĊĠĠĠĠĠĠĠ Ġ// Ġclass ĊĠĠĠĠĠĠĠ Ġwrite Ln (" /** ") ĊĠĠĠĠĠĠĠ Ġwrite Ln (" Ġ* Ġ${ entity . name } Ġentity .") ĊĠĠĠĠĠĠĠ Ġwrite Ln (" Ġ*/ ") ĊĠĠĠĠĠĠĠ Ġwrite Ln (" public Ġclass Ġ${ entity . name } Ġimplements ĠSerializable Ġ{ ") ĊĠĠĠĠĠĠĠ Ġindent () ĊĊĠĠĠĠĠĠĠ Ġ// Ġfields ĊĠĠĠĠĠĠĠ Ġwrite Ln (" private Ġstatic Ġfinal Ġlong ĠserialVersionUID Ġ= Ġ 1 L ; ") ĊĠĠĠĠĠĠĠ Ġwrite Ln () ĊĠĠĠĠĠĠĠ Ġfor Ġ(( name , Ġtype ) Ġin Ġentity . fields ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Ln (" private Ġ" Ġ+ Ġmake Type ( type ) Ġ+ Ġ" Ġ$ name ; ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġwrite Ln () ĊĊĠĠĠĠĠĠĠ Ġ// Ġconstructor ĊĠĠĠĠĠĠĠ Ġwrite Ln (" /** ") ĊĠĠĠĠĠĠĠ Ġwrite Ln ("* ĠNo - arg Ġconstructor .") ĊĠĠĠĠĠĠĠ Ġwrite Ln (" */ ") ĊĠĠĠĠĠĠĠ Ġwrite Ln (" public Ġ${ entity . name }() Ġ{ ") ĊĠĠĠĠĠĠĠ Ġwrite Ln (" }") ĊĊĠĠĠĠĠĠĠ Ġ// Ġset ters Ġand Ġgetters ĊĠĠĠĠĠĠĠ Ġfor Ġ(( name , Ġtype ) Ġin Ġentity . fields ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Ln () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Ln (" /** ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Ln ("* ĠSets Ġ${ name . to Comment Text ()}. ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Ln (" */ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Ln (" public Ġvoid Ġset ${ name . to Pas cal Case ()} ( final Ġ" Ġ+ Ġmake Type ( type ) Ġ+ Ġ" Ġ$ name ) Ġ{ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindent () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Ln (" this .$ name Ġ= Ġ$ name ; ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġun indent () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Ln (" }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Ln () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Ln (" /** ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Ln ("* ĠGets Ġ${ name . to Comment Text ()}. ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Ln (" */ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Ln (" public Ġ" Ġ+ Ġmake Type ( type ) Ġ+ Ġ" Ġ" Ġ+ Ġmake Get ( type ) Ġ+ Ġ"${ name . to Pas cal Case ()} () Ġ{ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindent () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Ln (" return Ġ$ name ; ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġun indent () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Ln (" }") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġun indent () ĊĠĠĠĠĠĠĠ Ġwrite Ln (" }") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġmake Type ( type : ĠType ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( type Ġ=== ĠType . Bool ) Ġ" boolean " Ġelse Ġtype . toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġmake Get ( type : ĠType ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( type Ġ=== ĠType . Bool ) Ġ" is " Ġelse Ġ" get " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠCreates Ġa Ġnew ĠJava Bean Generator Ġwith Ġa ĠFile Writer Ġnamed Ġafter Ġentity . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġentity Ġthe Ġentity . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ throws ĠIOException Ġif Ġfails Ġto Ġcreate ĠFile Writer ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġ@ Throws ( IOException :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( entity Ġ: ĠEntity ): ĠJava Bean Generator Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠJava Bean Generator ( FileWriter ( entity . name Ġ+ Ġ". java ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠCreates Ġa Ġnew ĠJava Bean Generator Ġwith Ġan Ġoverride ĠWriter . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġwriter Ġthe Ġoverride Ġwriter . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( writer : ĠWriter ): ĠJava Bean Generator Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠJava Bean Generator ( writer ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }