package io.muoncore.spring.methodinvocation.parameterhandlers; import io.muoncore.protocol.requestresponse.Request; import io.muoncore.protocol.requestresponse.server.RequestWrapper; import java.lang.reflect.Parameter; public class ResourceMethodArgumentTransformerFactory { public static MethodArgumentTransformer createMethodParameterHandler(Parameter parameter) { if (RequestWrapper.class.equals(parameter.getType())) { return new PassThroughArgumentTransformer(parameter); } if (Request.class.equals(parameter.getType())) { return new RequestArgumentTransformer(parameter); } else if (parameter.isAnnotationPresent(io.muoncore.spring.annotations.parameterhandlers.Parameter.class)) { return new ParameterEventArgumentTransformer(parameter); } else { return new PayloadArgumentTransformer(parameter); } } }