@Override protected void genToSubscriber(ApiTypeInfo type, PrintWriter writer) { TypeInfo streamType = type.getWriteStreamArg(); writer.format(" private io.vertx.reactivex.WriteStreamObserver<%s> observer;%n", genTypeName(streamType)); writer.format(" private io.vertx.reactivex.WriteStreamSubscriber<%s> subscriber;%n", genTypeName(streamType)); writer.println(); genToXXXEr(streamType, "Observer", "observer", writer); genToXXXEr(streamType, "Subscriber", "subscriber", writer); }
@Test public void testReadStreamWithParameterizedTypeArg() throws Exception { ClassModel model = new GeneratorHelper().generateClass(ReadStreamWithParameterizedTypeArg.class); ApiTypeInfo apiType = (ApiTypeInfo) model.getType().getRaw(); assertTrue(apiType.isReadStream()); ParameterizedTypeInfo readStreamArg = (ParameterizedTypeInfo) apiType.getReadStreamArg(); assertEquals(TypeReflectionFactory.create(List.class), readStreamArg.getRaw()); assertEquals(1, readStreamArg.getArgs().size()); assertEquals("T", readStreamArg.getArgs().get(0).getName()); assertFalse(apiType.isWriteStream()); assertNull(apiType.getWriteStreamArg()); assertFalse(apiType.isHandler()); }
@Test public void testInterfaceExtendingWriteStream() throws Exception { ClassModel model = new GeneratorHelper().generateClass(InterfaceExtentingWriteStream.class); ApiTypeInfo apiType = (ApiTypeInfo) model.getType(); assertFalse(apiType.isReadStream()); assertNull(apiType.getReadStreamArg()); assertTrue(apiType.isWriteStream()); assertEquals(TypeReflectionFactory.create(String.class), apiType.getWriteStreamArg()); assertFalse(apiType.isHandler()); }
@Test public void testInterfaceSubtypingReadStream() throws Exception { ClassModel model = new GeneratorHelper().generateClass(InterfaceSubtypingReadStream.class); ApiTypeInfo apiType = (ApiTypeInfo) model.getType(); assertTrue(apiType.isReadStream()); assertEquals(TypeReflectionFactory.create(String.class), apiType.getReadStreamArg()); assertFalse(apiType.isWriteStream()); assertNull(apiType.getWriteStreamArg()); assertFalse(apiType.isHandler()); }
@Test public void testInterfaceExtendingReadStream() throws Exception { ClassModel model = new GeneratorHelper().generateClass(InterfaceExtentingReadStream.class); ApiTypeInfo apiType = (ApiTypeInfo) model.getType(); assertTrue(apiType.isReadStream()); assertEquals(TypeReflectionFactory.create(String.class), apiType.getReadStreamArg()); assertFalse(apiType.isWriteStream()); assertNull(apiType.getWriteStreamArg()); assertFalse(apiType.isHandler()); }
@Test public void testGenericInterfaceExtendingReadStream() throws Exception { ClassModel model = new GeneratorHelper().generateClass(GenericInterfaceExtentingReadStream.class); ApiTypeInfo apiType = (ApiTypeInfo) model.getType().getRaw(); assertTrue(apiType.isReadStream()); TypeVariableInfo readStreamArg = (TypeVariableInfo) apiType.getReadStreamArg(); assertEquals("U", readStreamArg.getName()); assertFalse(apiType.isWriteStream()); assertNull(apiType.getWriteStreamArg()); assertFalse(apiType.isHandler()); }
@Test public void testGenericInterfaceExtendingWriteStream() throws Exception { ClassModel model = new GeneratorHelper().generateClass(GenericInterfaceExtentingWriteStream.class); ApiTypeInfo apiType = (ApiTypeInfo) model.getType().getRaw(); assertFalse(apiType.isReadStream()); assertNull(apiType.getReadStreamArg()); assertTrue(apiType.isWriteStream()); TypeVariableInfo writeStreamArg = (TypeVariableInfo) apiType.getWriteStreamArg(); assertEquals("U", writeStreamArg.getName()); assertFalse(apiType.isHandler()); }
@Test public void testInterfaceExtendingReadStreamAndWriteStream() throws Exception { ClassModel model = new GeneratorHelper().generateClass(InterfaceExtentingReadStreamAndWriteStream.class); ApiTypeInfo apiType = (ApiTypeInfo) model.getType(); assertTrue(apiType.isReadStream()); assertEquals(TypeReflectionFactory.create(String.class), apiType.getReadStreamArg()); assertTrue(apiType.isWriteStream()); assertEquals(TypeReflectionFactory.create(String.class), apiType.getWriteStreamArg()); assertFalse(apiType.isHandler()); }
@Test public void testGenericInterfaceExtendingReadStreamAndWriteStream() throws Exception { ClassModel model = new GeneratorHelper().generateClass(GenericInterfaceExtentingReadStreamAndWriteStream.class); ApiTypeInfo apiType = (ApiTypeInfo) model.getType().getRaw(); assertTrue(apiType.isReadStream()); TypeVariableInfo readStreamArg = (TypeVariableInfo) apiType.getReadStreamArg(); assertEquals("U", readStreamArg.getName()); assertTrue(apiType.isWriteStream()); TypeVariableInfo writeStreamArg = (TypeVariableInfo) apiType.getWriteStreamArg(); assertEquals("U", writeStreamArg.getName()); assertFalse(apiType.isHandler()); }