use of com.tvd12.ezyfoxserver.support.reflect.EzyRequestHandlerMethod in project ezyfox-server by youngmonkeys.
the class EzyRequestHandlersImplementer method implement.
private Map<String, EzyUserRequestHandler> implement(Object controller) {
Map<String, EzyUserRequestHandler> handlers = new HashMap<>();
EzyRequestControllerProxy proxy = new EzyRequestControllerProxy(controller);
String feature = proxy.getFeature();
for (EzyRequestHandlerMethod method : proxy.getRequestHandlerMethods()) {
EzyRequestHandlerImplementer implementer = newImplementer(proxy, method);
EzyAsmRequestHandler handler = implementer.implement();
String command = handler.getCommand();
handlers.put(command, handler);
requestCommandManager.addCommand(command);
if (proxy.isManagement() || method.isManagement()) {
requestCommandManager.addManagementCommand(command);
}
if (proxy.isPayment() || method.isPayment()) {
requestCommandManager.addPaymentCommand(command);
}
String methodFeature = feature != null ? feature : method.getFeature();
if (EzyStrings.isNotBlank(methodFeature)) {
featureCommandManager.addFeatureCommand(methodFeature, command);
}
}
return handlers;
}
use of com.tvd12.ezyfoxserver.support.reflect.EzyRequestHandlerMethod in project ezyfox-server by youngmonkeys.
the class EzyRequestControllerProxy method fetchRequestHandlerMethods.
protected List<EzyRequestHandlerMethod> fetchRequestHandlerMethods() {
List<EzyRequestHandlerMethod> list = new ArrayList<>();
List<EzyMethod> methods = clazz.getPublicMethods(this::isRequestHandlerMethod);
for (EzyMethod method : methods) {
EzyRequestHandlerMethod m = new EzyRequestHandlerMethod(commandGroup, method);
list.add(m);
}
return list;
}
use of com.tvd12.ezyfoxserver.support.reflect.EzyRequestHandlerMethod in project ezyfox-server by youngmonkeys.
the class EzyRequestHandlerMethodTest method test.
@Test
public void test() throws Exception {
EzyMethod method = new EzyMethod(AppClientHelloRequestController.class.getDeclaredMethod("handleHello5", EzyContext.class));
EzyRequestHandlerMethod handlerMethod = new EzyRequestHandlerMethod("c_hello5", method);
assert handlerMethod.getMethod() == method;
System.out.println(handlerMethod);
// noinspection ConstantConditions
assert handlerMethod.getParameterTypes().length >= 0;
}
Aggregations