[ 
https://issues.apache.org/jira/browse/FLINK-3002?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15003844#comment-15003844
 ] 

Vasia Kalavri commented on FLINK-3002:
--------------------------------------

I took a look at Scala's Either and at existing types in the Java API and I 
have a ton of questions :-S

Scala's Either type is implemented as an abstract class with two case 
subclasses, Left and Right, which set an {{isLeft}} flag accordingly.
Is this how you think I should implement the Either Java type as well?

Looking at the existing types, it seems that apart from the type itself, we 
need an {{EitherTypeInfo}} and an {{EitherSerializer}}. 
The typeInfo / serializers are created with the type / class (Either) and the 
types / serializers of their fields (Left and Right). How can I check inside 
the typeinfo and serializer if I have a Left or Right type? I can of course 
check the flag in {{(de)-serialize()}} methods, but what about the rest of the 
methods (e.g. {{copy()}}, {{createInstance()}}, {{duplicate()}})?

Finally, should these go in {{flink-java}} or {{flink-core}} (what's the 
difference)?

Thanks for the help!

> Add an EitherType to the Java API
> ---------------------------------
>
>                 Key: FLINK-3002
>                 URL: https://issues.apache.org/jira/browse/FLINK-3002
>             Project: Flink
>          Issue Type: New Feature
>          Components: Java API
>    Affects Versions: 0.10
>            Reporter: Stephan Ewen
>            Assignee: Vasia Kalavri
>             Fix For: 1.0
>
>
> Either types are recurring patterns and should be serialized efficiently, so 
> it makes sense to add them to the core Java API.
> Since Java does not have such a type as of Java 8, we would need to add our 
> own version.
> The Scala API handles the Scala Either Type already efficiently. I would not 
> use the Scala Either Type in the Java API, since we are trying to get the 
> {{flink-java}} project "Scala free" for people that don't use Scala and o not 
> want to worry about Scala version matches and mismatches.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to