<lang:jruby id="interestCalculator" script-interfaces="com.apress.springrecipes.interest.InterestCalculator"> <lang:inline-script> <![CDATA[ class SimpleInterestCalculator def setRateCalculator(rateCalculator) @rateCalculator = rateCalculator end def calculate(amount, year) amount * year * @rateCalculator.getAnnualRate end end SimpleInterestCalculator.new ]]> </lang:inline-script> <lang:property name="rateCalculator" ref="rateCalculator" /> </lang:jruby>
<lang:groovy id="interestCalculator"> <lang:inline-script> <![CDATA[ import com.apress.springrecipes.interest.InterestCalculator; import com.apress.springrecipes.interest.RateCalculator; class SimpleInterestCalculator implements InterestCalculator { RateCalculator rateCalculator double calculate(double amount, double year) { return amount * year * rateCalculator.getAnnualRate() } } ]]> </lang:inline-script> <lang:property name="rateCalculator" ref="rateCalculator" /> </lang:groovy>
<lang:bsh id="interestCalculator" script-interfaces="com.apress.springrecipes.interest.InterestCalculator"> <lang:inline-script> <![CDATA[ import com.apress.springrecipes.interest.RateCalculator; RateCalculator rateCalculator; void setRateCalculator(RateCalculator aRateCalculator) { rateCalculator = aRateCalculator; } double calculate(double amount, double year) { return amount * year * rateCalculator.getAnnualRate(); } ]]> </lang:inline-script> <lang:property name="rateCalculator" ref="rateCalculator" /> </lang:bsh>