test_class.declarator: logger = mock(Logger.class)
test_class.modifier: private final
test_class.original_string: private final Logger logger = mock(Logger.class);
test_class.type: Logger
test_class.var_name: logger
test_class.declarator: invoker = new Invoker(new GsonWebRenderer(new Gson()), logger)
test_class.modifier: private final
test_class.original_string: private final Invoker invoker = new Invoker(new GsonWebRenderer(new Gson()), logger);
test_class.type: Invoker
test_class.var_name: invoker
test_class.file: services/src/test/java/com/greensopinion/finance/services/web/dispatch/InvokerTest.java
test_class.identifier: InvokerTest
test_case.body: @Test
  	public void convertEmptyString() throws Exception {
  		assertEquals(null, invoker.convert(String.class, ""));
  	}
test_case.class_method_signature: InvokerTest.convertEmptyString()
test_case.full_signature: @Test public void convertEmptyString()
test_case.identifier: convertEmptyString
test_case.invocations: assertEquals convert
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void convertEmptyString()
focal_class.declarator: webRenderer
focal_class.modifier: private final
focal_class.original_string: private final GsonWebRenderer webRenderer;
focal_class.type: GsonWebRenderer
focal_class.var_name: webRenderer
focal_class.declarator: logger
focal_class.modifier: private final
focal_class.original_string: private final Logger logger;
focal_class.type: Logger
focal_class.var_name: logger
focal_class.file: services/src/main/java/com/greensopinion/finance/services/web/dispatch/Invoker.java
focal_class.identifier: Invoker
focal_class.class_method_signature: Invoker.Invoker(GsonWebRenderer webRenderer, Logger logger)
focal_class.full_signature: @Inject public  Invoker(GsonWebRenderer webRenderer, Logger logger)
focal_class.identifier: Invoker
focal_class.modifiers: @Inject public
focal_class.parameters: (GsonWebRenderer webRenderer, Logger logger)
focal_class.signature:  Invoker(GsonWebRenderer webRenderer, Logger logger)
focal_class.class_method_signature: Invoker.invoke(WebRequest request, MatchResult match, Handler handler)
focal_class.full_signature: public WebResponse invoke(WebRequest request, MatchResult match, Handler handler)
focal_class.identifier: invoke
focal_class.modifiers: public
focal_class.parameters: (WebRequest request, MatchResult match, Handler handler)
focal_class.return: WebResponse
focal_class.signature: WebResponse invoke(WebRequest request, MatchResult match, Handler handler)
focal_class.class_method_signature: Invoker.logInvocationException(Exception e)
focal_class.full_signature: protected void logInvocationException(Exception e)
focal_class.identifier: logInvocationException
focal_class.modifiers: protected
focal_class.parameters: (Exception e)
focal_class.return: void
focal_class.signature: void logInvocationException(Exception e)
focal_class.class_method_signature: Invoker.toWebResponse(Exception e)
focal_class.full_signature:  WebResponse toWebResponse(Exception e)
focal_class.identifier: toWebResponse
focal_class.parameters: (Exception e)
focal_class.return: WebResponse
focal_class.signature: WebResponse toWebResponse(Exception e)
focal_class.class_method_signature: Invoker.toWebResponse(Response response)
focal_class.full_signature:  WebResponse toWebResponse(Response response)
focal_class.identifier: toWebResponse
focal_class.parameters: (Response response)
focal_class.return: WebResponse
focal_class.signature: WebResponse toWebResponse(Response response)
focal_class.class_method_signature: Invoker.createParameters(WebRequest request, MatchResult match, Handler handler)
focal_class.full_signature:  Map<String, Object> createParameters(WebRequest request, MatchResult match, Handler handler)
focal_class.identifier: createParameters
focal_class.parameters: (WebRequest request, MatchResult match, Handler handler)
focal_class.return: Map<String, Object>
focal_class.signature: Map<String, Object> createParameters(WebRequest request, MatchResult match, Handler handler)
focal_class.class_method_signature: Invoker.convert(Type type, Object value)
focal_class.full_signature: @SuppressWarnings({ "rawtypes", "unchecked" }) Object convert(Type type, Object value)
focal_class.identifier: convert
focal_class.modifiers: @SuppressWarnings({ "rawtypes", "unchecked" })
focal_class.parameters: (Type type, Object value)
focal_class.return: Object
focal_class.signature: Object convert(Type type, Object value)
focal_class.class_method_signature: Invoker.classOf(Type type)
focal_class.full_signature: private Class<?> classOf(Type type)
focal_class.identifier: classOf
focal_class.modifiers: private
focal_class.parameters: (Type type)
focal_class.return: Class<?>
focal_class.signature: Class<?> classOf(Type type)
focal_method.body: @SuppressWarnings({ "rawtypes", "unchecked" })
  	Object convert(Type type, Object value) throws Exception {
  		if (type == Integer.class) {
  			String v = value.toString();
  			return v.isEmpty() ? null : Integer.parseInt(v);
  		} else if (type == Long.class) {
  			String v = value.toString();
  			return v.isEmpty() ? null : Long.parseLong(v);
  		} else if (type == String.class) {
  			String v = value.toString().trim();
  			return v.isEmpty() ? null : v;
  		}
  		ByteArrayInputStream stream = new ByteArrayInputStream(value.toString().getBytes(StandardCharsets.UTF_8));
  		Class clazz = classOf(type);
  		return webRenderer.readFrom(clazz, type, null, null, null, stream);
  	}
focal_method.class_method_signature: Invoker.convert(Type type, Object value)
focal_method.full_signature: @SuppressWarnings({ "rawtypes", "unchecked" }) Object convert(Type type, Object value)
focal_method.identifier: convert
focal_method.invocations: toString isEmpty parseInt toString isEmpty parseLong trim toString isEmpty getBytes toString classOf readFrom
focal_method.modifiers: @SuppressWarnings({ "rawtypes", "unchecked" })
focal_method.parameters: (Type type, Object value)
focal_method.return: Object
focal_method.signature: Object convert(Type type, Object value)