Reflections.visit(flowlet, TypeToken.of(flowlet.getClass()),
new MethodVisitor() {
@Override
public void visit(Object o, TypeToken<?> inspectType, TypeToken<?> declareType, Method method)
throws Exception {
QueryOutput annotation = method.getAnnotation(QueryOutput.class);
if ((annotation == null) || (annotation.value().isEmpty())) {
return;
}
try {
methodListMap.put(annotation.value(),
new MethodInvoker(o, method, inspectType
, getSchema(schemaMap.get(annotation.value())))
);
} catch (UnsupportedTypeException e) {
throw new RuntimeException(e);
}
}