使用 Groovy 2.0
GPath 属性表达式是否可以使用谓词进行过滤:
class HandShaker {
String title
}
class AussieGreeter implements Greeter {
String name
List<HandShaker> handshaker
....
}
AussieGreeter greeter = new AussieGreeter()
greeter.setName("hello")
greeter.setHandshaker([new Handshaker().setTitle("butler")].asList()])
println Eval.x(greeter,"x[name=='hello'].handshaker[0].title")
如果 name 属性等于“hello”,则过滤 Greeter?还没有见过这样的例子,Groovy 因 MissingPropertyException 而放弃。