// ĠCopyright Ġ( C ) Ġ 2 0 0 6 ĠGoogle ĠInc . Ċ // Ċ // Ġ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 . w ak az ta hir . code editor . prett ify . parser Ċ Ċ /** Ċ Ġ* ĠThis Ġis Ġthe Ġjob Ġobject Ġthat Ġsimilar Ġto Ġthose Ġin ĠJavaScript ĠP rett ify . Ċ Ġ* Ċ Ġ* Ġ@ author ĠCh an ĠW ai ĠSh ing Ġ< c ws 1 9 8 9 ></ c ws 1 9 8 9 >@ gmail . com > Ċ Ġ*/ Ċ class ĠJob Ġconstructor ( base Pos : ĠInt Ġ= Ġ 0 , Ġsource Code : ĠString ? Ġ= Ġ"") Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSet Ġthe Ġstarting Ġpoint Ġof Ġthe Ġsource Ġcode . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġposition ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSet Ġthe Ġstarting Ġpoint Ġof Ġthe Ġsource Ġcode . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġbase Pos Ġthe Ġposition ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġstarting Ġpoint Ġof Ġthe Ġsource Ġcode . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġbase Pos : ĠInt ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġsource Ġcode . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinternal Ġvar Ġsource Code : ĠString ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġparsed Ġresults . Ġn < sup > th </ sup > Ġitems Ġare Ġstarting Ġposition Ġposition , ĊĠĠĠĠ Ġ* Ġn + 1 < sup > th </ sup > Ġitems Ġare Ġthe Ġthree - letter Ġstyle Ġkeyword , Ġwhere Ġn Ġstart ĊĠĠĠĠ Ġ* Ġfrom Ġ 0 . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinternal Ġvar Ġdecor ations : ĠList < Any > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġthe Ġsource Ġcode . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġsource Ġcode ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Source Code (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsource Code ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSet Ġthe Ġsource Ġcode . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġsource Code Ġthe Ġsource Ġcode ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Source Code ( sourceCode : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( sourceCode Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠNullPointerException (" argument Ġ' sourceCode ' Ġcannot Ġbe Ġnull ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġthis . sourceCode Ġ= Ġsource Code ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġthe Ġparsed Ġresults . Ġsee Ġ[. decor ations ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġparsed Ġresults ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Decor ations (): ĠList < Any > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠArrayList ( decor ations ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSet Ġthe Ġparsed Ġresults . Ġsee Ġ[. decor ations ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġdecor ations Ġthe Ġparsed Ġresults ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Decor ations ( decor ations : ĠList < Any > ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( decor ations Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . decor ations Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġthis . decor ations Ġ= ĠArrayList ( decor ations ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠConstructor . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġbase Pos Ġthe Ġstarting Ġpoint Ġof Ġthe Ġsource Ġcode ĊĠĠĠĠ Ġ* Ġ@ param Ġsource Code Ġthe Ġsource Ġcode ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠConstructor . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( sourceCode Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠNullPointerException (" argument Ġ' sourceCode ' Ġcannot Ġbe Ġnull ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġthis . base Pos Ġ= Ġbase Pos ĊĠĠĠĠĠĠĠ Ġthis . sourceCode Ġ= Ġsource Code ĊĠĠĠĠĠĠĠ Ġdecor ations Ġ= ĠArrayList () ĊĠĠĠ Ġ} Ċ }