// Java 5, with Iterable interface for the foreach loop
explorer.find(new ClassFinder() {
public boolean classMatches(QueryClass aClass) {
for (QueryMethod aMethod: aClass.getMethods()) {
if (aMethod.isLike("join") && aMethod.isReturning("net.jxta.credential.Credential"))
return true;
}
return false;
}
});
def explorer =
new Explorer
() // pass it some jar file paths
explorer.
query(
select: classes,
where: extend
("net.jxta.service.Service"),
and: hasMethod
(
like:
"join",
returning:
"net.jxta.credential.Credential"
)
}
explorer.
findAllClasses { aClass ->
aClass.
isExtending("net.jxta.service.Service") &&
aClass.
hasMethod { aMethod ->
aMethod.
like("join") &&
aMethod.
returning("net.jxta.credential.Credential")
}
}
explorer.
findAllClasses {
it.
isExtending("net.jxta.service.Service") &&
it.
hasAMethod {
it.
isLike("join") &&
it.
isReturning("net.jxta.credential.Credential")
}
}
it.
hasAMethod.
like("join").
returning("net.jxta.credential.Credential")