Module配置之“Closure的利用”
传统的Module配置一般采用XML - 这种繁杂的东西就不去说它了。
?
随着脚本语言在Java中的引入,我们有了更简洁更易维护的Module配置方式。
?
subclass一个Groovy的BuilderSupport先:
?
public static boolean isEuro(sid) { // The countries currently using the euro are: // 1) Andorra // 2) Austria // 3) Belgium // 4) Cyprus // 5) Estonia // 6) Finland // 7) France // 8) Germany // 9) Greece // 10) Ireland // 11) Italy // 12) Kosovo // 13) Luxembourg // 14) Malta // 15) Monaco // 16) Montenegro // 17) Netherlands // 18) Portugal // 19) San Marino // 20) Slovakia // 21) Slovenia // 22) Spain // 23) Vatican City def euroCountries = Country.findAll(name:~/Andorra|Austria|Belgium|Cyprus|Estonia|Finland|France|Germany|Greece|Ireland|Italy|Kosovo|Luxembourg|Malta|Monaco|Montenegro|Netherlands|Netherlands Antilles|Portugal|San Marino|Slovakia|Slovenia|Spain|Holy See \(Vatican City\)/) !!Study.find(id:sid){ def qq = it.descend('countries'), c euroCountries.each{ def c1 = qq.constrain(it) c = c ? c.or(c1) : c1 } }}?
?