@Override public TypeInformation<T> getProducedType() { return TypeExtractor.createTypeInfo(NeighborsFunctionWithVertexValue.class, function.getClass(), 3, null, null); } }
@Override public TypeInformation<T> getProducedType() { return TypeExtractor.createTypeInfo(NeighborsFunction.class, function.getClass(), 3, null, null); } }
@Override public TypeInformation<T> getProducedType() { return TypeExtractor.createTypeInfo(NeighborsFunctionWithVertexValue.class, function.getClass(), 3, null, null); } }
@Override public TypeInformation<T> getProducedType() { return TypeExtractor.createTypeInfo(EdgesFunctionWithVertexValue.class, function.getClass(), 3, null, null); } }
@Override public TypeInformation<T> getProducedType() { return TypeExtractor.createTypeInfo(EdgesFunctionWithVertexValue.class, function.getClass(), 3, null, null); } }
@Override public TypeInformation<Tuple2<K, V>> getProducedType() { return new TupleTypeInfo<>(TypeExtractor.createTypeInfo(keyClass), TypeExtractor.createTypeInfo(valueClass)); } }
private TypeSerializer<?> createSubclassSerializer(Class<?> subclass) { TypeSerializer<?> serializer = TypeExtractor.createTypeInfo(subclass).createSerializer(executionConfig); if (serializer instanceof PojoSerializer) { PojoSerializer<?> subclassSerializer = (PojoSerializer<?>) serializer; subclassSerializer.copyBaseFieldOrder(this); } return serializer; }
@Test public void testCorrectPojos() { TypeInformation<?> typeForClass = TypeExtractor.createTypeInfo(BeanStylePojo.class); Assert.assertTrue(typeForClass instanceof PojoTypeInfo<?>); typeForClass = TypeExtractor.createTypeInfo(TypedPojoGetterSetterCheck.class); Assert.assertTrue(typeForClass instanceof PojoTypeInfo<?>); }
@Test public void testIncorrectPojos() { TypeInformation<?> typeForClass = TypeExtractor.createTypeInfo(IncorrectPojo.class); Assert.assertTrue(typeForClass instanceof GenericTypeInfo<?>); typeForClass = TypeExtractor.createTypeInfo(WrongCtorPojo.class); Assert.assertTrue(typeForClass instanceof GenericTypeInfo<?>); }
public static TypeSerializer<Event> createTypeSerializer() { TypeInformation<Event> typeInformation = (TypeInformation<Event>) TypeExtractor.createTypeInfo(Event.class); return typeInformation.createSerializer(new ExecutionConfig()); } }
@Test public void testInstanceMethodRefSuperTypeProtected() { MapFunction<MySubtype, Integer> f = MyType::getKey2; TypeInformation<?> ti = TypeExtractor.getMapReturnTypes(f, TypeExtractor.createTypeInfo(MySubtype.class)); assertEquals(BasicTypeInfo.INT_TYPE_INFO, ti); }
@Test public void testRecursivePojo1() { TypeInformation<?> ti = TypeExtractor.createTypeInfo(RecursivePojo1.class); Assert.assertTrue(ti instanceof PojoTypeInfo); Assert.assertEquals(GenericTypeInfo.class, ((PojoTypeInfo) ti).getPojoFieldAt(0).getTypeInformation().getClass()); }
@Test public void testPojoWithRecursiveGenericField() { TypeInformation<?> ti = TypeExtractor.createTypeInfo(PojoWithRecursiveGenericField.class); Assert.assertTrue(ti instanceof PojoTypeInfo); Assert.assertEquals(GenericTypeInfo.class, ((PojoTypeInfo) ti).getPojoFieldAt(0).getTypeInformation().getClass()); }
@Test public void testPojoAllPublic() { TypeInformation<?> typeForClass = TypeExtractor.createTypeInfo(AllPublic.class); checkAllPublicAsserts(typeForClass); TypeInformation<?> typeForObject = TypeExtractor.getForObject(new AllPublic() ); checkAllPublicAsserts(typeForObject); }
@Test public void testRecursivePojoWithTypeVariable() { TypeInformation<?> ti = TypeExtractor.createTypeInfo(MyType.class); Assert.assertTrue(ti instanceof PojoTypeInfo); TypeInformation<?> pti = ((PojoTypeInfo) ti).getPojoFieldAt(0).getTypeInformation(); Assert.assertTrue(pti instanceof PojoTypeInfo); Assert.assertEquals(GenericTypeInfo.class, ((PojoTypeInfo) pti).getPojoFieldAt(0).getTypeInformation().getClass()); }
@Test public void testRecursivePojo2() { TypeInformation<?> ti = TypeExtractor.createTypeInfo(RecursivePojo2.class); Assert.assertTrue(ti instanceof PojoTypeInfo); PojoField pf = ((PojoTypeInfo) ti).getPojoFieldAt(0); Assert.assertTrue(pf.getTypeInformation() instanceof TupleTypeInfo); Assert.assertEquals(GenericTypeInfo.class, ((TupleTypeInfo) pf.getTypeInformation()).getTypeAt(0).getClass()); }
@Test public void testMyTupleHierarchy() { TypeInformation<?> ti = TypeExtractor.createTypeInfo(MyTuple2.class); assertTrue(ti instanceof MyTupleTypeInfo); MyTupleTypeInfo<?, ?> mtti = (MyTupleTypeInfo) ti; assertEquals(STRING_TYPE_INFO, mtti.getField0()); assertEquals(BOOLEAN_TYPE_INFO, mtti.getField1()); }
@Test public void testPojoWC() { TypeInformation<?> typeForClass = TypeExtractor.createTypeInfo(WC.class); checkWCPojoAsserts(typeForClass); WC t = new WC(); t.complex = new ComplexNestedClass(); TypeInformation<?> typeForObject = TypeExtractor.getForObject(t); checkWCPojoAsserts(typeForObject); }
@Test public void testRecursivePojo3() { TypeInformation<?> ti = TypeExtractor.createTypeInfo(RecursivePojo3.class); Assert.assertTrue(ti instanceof PojoTypeInfo); PojoField pf = ((PojoTypeInfo) ti).getPojoFieldAt(0); Assert.assertTrue(pf.getTypeInformation() instanceof PojoTypeInfo); Assert.assertEquals(GenericTypeInfo.class, ((PojoTypeInfo) pf.getTypeInformation()).getPojoFieldAt(0).getTypeInformation().getClass()); }
@Test public void testDualUseOfPojo() { MapFunction<?, ?> function = new DuplicateMapper(); TypeInformation<?> ti = TypeExtractor.getMapReturnTypes(function, (TypeInformation) TypeExtractor.createTypeInfo(FooBarPojo.class)); Assert.assertTrue(ti instanceof TupleTypeInfo); TupleTypeInfo<?> tti = ((TupleTypeInfo) ti); Assert.assertTrue(tti.getTypeAt(0) instanceof PojoTypeInfo); Assert.assertTrue(tti.getTypeAt(1) instanceof PojoTypeInfo); }