I think the TypeHints case can cover this:

public class MyPojo<T, R> {
    public T field1;
    public R field2;
}

If you say '.returns(new TypeHint<MyPojo<String, Double>>() {})' this
creates an anonymous subclass of the TypeHint, which has the types that T
and R bind to, which allows one to construct the POJO type info properly.
(Not sure if all that is implemented in the TypeExtractor, though).

What do you think?

Stephan




On Wed, Nov 18, 2015 at 6:03 PM, Timo Walther <twal...@apache.org> wrote:

> If the TypeExtractor is not able to handle the fields of a Pojo correctly,
> the String parser is quite useful to say
> "org.my.Pojo<field1=Tuple2<String,Long>>". Doing this with TypeInformation
> classes is terrible. But I think this a corner case we can ignore. I would
> also remove the ".returns(String)" in favor of TypeHints, but let the
> TypeInfoParser remain in a typeutils package (internal tool).
>
> Regards,
> Timo
>
>
> On 18.11.2015 16:47, Stephan Ewen wrote:
>
>> If we want to drop any of the possible ".returns(...)" methods (like class
>> or string) we should do that now.
>>
>> The "class" method is probably redundant anyways, as the hints are only
>> necessary in generics are involved (where class does not help anyways).
>>
>> @Timo: What can the String do what the TypeHint cannot do?
>>
>> On Wed, Nov 11, 2015 at 9:06 PM, Timo Walther <twal...@apache.org> wrote:
>>
>> +1
>>>
>>> It's still hacky but we don't have better alternatives.
>>>
>>> I'm not 100% sure if we can get rid of the parser. I think it's still a
>>> nice way for quickly defining the fields of a POJO if the type extractor
>>> fails to analyze it. But actually I don't know an example where it fails.
>>>
>>> Regards,
>>> Timo
>>>
>>>
>>> On 11.11.2015 19:56, Aljoscha Krettek wrote:
>>>
>>> Big +1
>>>>
>>>> Of course, we had the initial talk about it… :D
>>>>
>>>> On 11 Nov 2015, at 19:33, Kirschnick, Johannes <
>>>>> johannes.kirschn...@tu-berlin.de> wrote:
>>>>>
>>>>> Hi Stephan,
>>>>>
>>>>> looking at the TypeHint, I got reminded on how Gson (a Json Parser)
>>>>> handles this situation of parsing generics.
>>>>>
>>>>> See here for an overview
>>>>>
>>>>>
>>>>> https://sites.google.com/site/gson/gson-user-guide#TOC-Serializing-and-Deserializing-Generic-Types
>>>>>
>>>>> Seems like this method was rediscovered :) And maybe there are some
>>>>> tricks that can be learned from the implementation
>>>>>
>>>>> I'm all in favor for "hard" types over string literals.
>>>>>
>>>>> Johannes
>>>>>
>>>>> P.S.
>>>>> Apparently GWT uses the same "trick" to handle generics ...
>>>>>
>>>>> -----Ursprüngliche Nachricht-----
>>>>> Von: ewenstep...@gmail.com [mailto:ewenstep...@gmail.com] Im Auftrag
>>>>> von Stephan Ewen
>>>>> Gesendet: Mittwoch, 11. November 2015 15:53
>>>>> An: dev@flink.apache.org
>>>>> Betreff: [DISCUSSION] Type hints versus TypeInfoParser
>>>>>
>>>>> Hi all!
>>>>>
>>>>> We discovered a nice way to give TypeHints in the Google Cloud Dataflow
>>>>> SDK, in a way that would fit Flink perfectly. I created a JIRA for
>>>>> that:
>>>>> https://issues.apache.org/jira/browse/FLINK-2788
>>>>>
>>>>> Since this is more powerful and type safe than the String/Parser way of
>>>>> giving hints, I was wondering whether we should add this and deprecate
>>>>> the
>>>>> String variant. If we do that, 1.0 is the time to do that.
>>>>>
>>>>> What do you think about this idea?
>>>>>
>>>>> @Timo Walther Since you worked a lot on types/parser/etc - what is your
>>>>> take on this?
>>>>>
>>>>> Greetings,
>>>>> Stephan
>>>>>
>>>>>
>

Reply via email to