private static void wire(Event instance, ClientRequest request, Class<?> clazz) { for (Field field : clazz.getDeclaredFields()) { try { field.setAccessible(true); EventParameter annot = field.getAnnotation(EventParameter.class); if (annot == null) { continue; } String name = annot.value(); OnFailure onFailure = annot.onFailure(); name = name.isEmpty() ? field.getName() : name; Object value = request.getParam(name, field.getType()); if (value == null) { onFailure.doAction("Request contains no valid value for field \"%s\"", name); } else { field.set(instance, value); } } catch (Exception e) { throw MiscUtil.toUnchecked(e); } } }
onFailure.doAction( "Method " + method.getName() + " signature does not conform to that of an event handler."); return; onFailure.doAction("At least one event type must be specified"); onFailure.doAction("No suitable event handler target found for \"" + target + "\""); } else { for (String type : types) {