@Test public void testMethodWithNullableNonAnnotatedTypeVariableHandler() throws Exception { generateClass(model -> { List<MethodInfo> methods = model.getMethods(); assertEquals(1, methods.size()); MethodInfo mi1 = methods.get(0); checkMethod(mi1, "method", 1, "void", MethodKind.HANDLER); assertFalse(mi1.getParams().get(0).isNullableCallback()); }, MethodWithNullableNonAnnotatedTypeVariableHandler.class); }
@Test public void testMethodWithHandlerAsyncResultNullable() throws Exception { for (Class<?> clazz : Arrays.asList( MethodWithNullableTypeVariableHandlerAsyncResult.class, MethodWithNullableStringHandlerAsyncResult.class, MethodWithHandlerAsyncResultNullableVoid.class)) { generateClass(model -> { List<MethodInfo> methods = model.getMethods(); assertEquals(1, methods.size()); MethodInfo mi1 = methods.get(0); checkMethod(mi1, "method", 1, "void", MethodKind.FUTURE); assertTrue(mi1.getParams().get(0).isNullableCallback()); }, clazz); } }
@Test public void testMethodWithNullableStringHandlerAsyncResult() throws Exception { generateClass(model -> { List<MethodInfo> methods = model.getMethods(); assertEquals(1, methods.size()); MethodInfo mi1 = methods.get(0); checkMethod(mi1, "method", 1, "void", MethodKind.FUTURE); assertTrue(mi1.getParams().get(0).isNullableCallback()); }, MethodWithNullableStringHandlerAsyncResult.class); }
@Test public void testMethodWithNullableNonAnnotatedTypeVariableHandlerAsyncResult() throws Exception { generateClass(model -> { List<MethodInfo> methods = model.getMethods(); assertEquals(1, methods.size()); MethodInfo mi1 = methods.get(0); checkMethod(mi1, "method", 1, "void", MethodKind.FUTURE); assertFalse(mi1.getParams().get(0).isNullableCallback()); }, MethodWithNullableNonAnnotatedTypeVariableHandlerAsyncResult.class); }
if (lastParam.isNullableCallback()) { writer.print("?");