/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 0 8 - 2 0 1 8 ĠHa ul mont . Ċ Ġ* Ċ Ġ* Ġ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 . Ċ Ġ*/ Ċ Ċ package Ġcom . ha ul mont . cub a . cli . cub apl ugin . component bean Ċ Ċ import Ġcom . be ust . j command er . Parameters Ċ import Ġcom . ha ul mont . cub a . cli . Resources Ċ import Ġcom . ha ul mont . cub a . cli . commands . Generator Command Ċ import Ġcom . ha ul mont . cub a . cli . commands . Non Interactive Info Ċ import Ġcom . ha ul mont . cub a . cli . generation . Template Processor Ċ import Ġcom . ha ul mont . cub a . cli . pro mp ting . Answers Ċ import Ġcom . ha ul mont . cub a . cli . pro mp ting . Questions List Ċ Ċ @ Parameters ( command Description Ġ= Ġ" Creates Ġnew ĠSpring Ġbean ") Ċ class ĠCreate Component Bean Command Ġ: ĠGenerator Command < Component Bean Model >(), ĠNon Interactive Info Ġ{ ĊĠĠĠ Ġprivate Ġval Ġresources Ġby ĠResources . from My Plugin () ĊĊĠĠĠ Ġoverride Ġfun Ġget ModelName (): ĠString Ġ= ĠComponent Bean Model . MODEL _ NAME ĊĊĠĠĠ Ġoverride Ġfun Ġpre Execute () Ġ= Ġcheck Project Ex istence () ĊĊĠĠĠ Ġoverride Ġfun Ġget Non Interactive Parameters (): ĠMap < String , ĠString > Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" name " Ġto Ġ" Class Ġname ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" packageName " Ġto Ġ" Package Ġname ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" bean Name " Ġto Ġ" Bean Ġname ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" module " Ġto Ġ" Target Ġmodule , Ġweb Ġor Ġcore ." ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun ĠQuestions List . pro mp ting () Ġ{ ĊĠĠĠĠĠĠĠ Ġquestion (" name ", Ġ" Class Ġname ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalidate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Is Class () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġquestion (" packageName ", Ġ" Package Ġname ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalidate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Is Package () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefault ( project Model . root Package ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġquestion (" bean Name ", Ġ" Bean Ġname ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Ġ{ Ġproject Model . namespace Ġ+ Ġ"_" Ġ+ Ġit [" name "] Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtext Options (" module ", Ġ" Target Ġmodule ", ĠlistOf (" web ", Ġ" core ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Model ( answers : ĠAn swers ): ĠComponent Bean Model Ġ= ĠComponent Bean Model ( answers ) ĊĊĠĠĠ Ġoverride Ġfun Ġbefore Generation () Ġ{ ĊĠĠĠĠĠĠĠ Ġproject Structure . getModule ( model . module ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. resolve Package Path ( model . packageName ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. resolve ( model . name Ġ+ Ġ". java ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġensure File Abs ence ( it , Ġ" Bean Ġ\" ${ model . packageName }.${ model . name }\" Ġalready Ġexists Ġin Ġmodule Ġ${ model . module }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġgenerate ( bindings : ĠMap < String , ĠAny >) Ġ{ ĊĠĠĠĠĠĠĠ ĠTemplate Processor ( resources . get Template (" component Bean "), Ġbindings ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransform Whole () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ