/* Ċ Ġ* ĠLicensed Ġto Ġthe ĠApache ĠSoftware ĠFoundation Ġ( ASF ) Ġunder Ġone Ċ Ġ* Ġor Ġmore Ġcontributor Ġlicense Ġagreements . Ġ ĠSee Ġthe ĠNOTICE Ġfile Ċ Ġ* Ġdistributed Ġwith Ġthis Ġwork Ġfor Ġadditional Ġinformation Ċ Ġ* Ġregarding Ġcopyright Ġownership . Ġ ĠThe ĠASF Ġlicenses Ġthis Ġfile Ċ Ġ* Ġto Ġyou Ġ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 Ġorg . apache . t inker pop 4 . gre mlin . js r 2 2 3 Ċ Ċ import Ġorg . apache . t inker pop 4 . gre mlin . util . G re mlin Ċ import Ġjavax . script . Script Engine Ċ import Ġjava . util . Collections Ċ import Ġjava . util . List Ċ Ċ /** Ċ Ġ* ĠA Ġsimple Ġbase Ġimplementation Ġof Ġthe Ġ[ G re mlin Script Engine Factory ]. Ċ Ġ* Ċ Ġ* Ġ@ author ĠSte phen ĠM allet te Ġ( http :// ste phen . gen op ri me . com ) Ċ Ġ*/ Ċ abstract Ġclass ĠAbstract G re mlin Script Engine Factory ( ĊĠĠĠ Ġ@ get : Override Ġval Ġengine Name : ĠString , Ġ@ get : Override Ġval Ġlanguage Name : ĠString , ĊĠĠĠ Ġextensions : ĠList < String ?> ?, Ġmime Types : ĠList < String ?> ? Ċ ) Ġ: ĠG re mlin Script Engine Factory Ġ{ ĊĊĠĠĠ Ġ@ get : Override ĊĠĠĠ Ġval Ġextensions : ĠList < String > ĊĊĠĠĠ Ġ@ get : Override ĊĠĠĠ Ġval Ġmime Types : ĠList < String > ĊĠĠĠ Ġprotected Ġvar Ġmanager : ĠG re mlin Script Engine Manager ? Ġ= Ġnull ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . extensions Ġ= ĠCollections . unmodifiable List ( extensions ) ĊĠĠĠĠĠĠĠ Ġthis . mime Types Ġ= ĠCollections . unmodifiable List ( mime Types ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Override ĊĠĠĠ Ġfun Ġset Customizer Manager ( manager : ĠG re mlin Script Engine Manager ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . manager Ġ= Ġmanager ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ get : Override ĊĠĠĠ Ġval Ġengine Version : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠG re mlin . version () ĊĊĠĠĠ Ġ@ get : Override ĊĠĠĠ Ġval Ġlanguage Version : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠG re mlin . version () ĊĊĠĠĠ Ġ@ get : Override ĊĠĠĠ Ġval Ġnames : ĠList < String > ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠCollections . singletonList ( language Name ) ĊĊĠĠĠ Ġ@ Override ĊĠĠĠ Ġfun Ġget Parameter ( key : ĠString ): ĠObject ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( key . equals ( Script Engine . ENGINE )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġengine Name ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( key . equals ( Script Engine . ENGINE _ VERSION )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġengine Version ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( key . equals ( Script Engine . NAME )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġengine Name ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( key . equals ( Script Engine . LANGUAGE )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlanguage Name ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( key . equals ( Script Engine . LANGUAGE _ VERSION )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlanguage Version ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠState ments Ġare Ġconcaten ated Ġtogether Ġby Ġa Ġline Ġfeed . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Override ĊĠĠĠ Ġfun Ġget Program ( var arg Ġstatements : ĠString ?): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprogram Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠ Ġfor Ġ( statement Ġin Ġstatements ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogram . append ( statement ). append ( System . line Separator ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġprogram . toString () ĊĠĠĠ Ġ} Ċ }