[
https://issues.apache.org/jira/browse/FLINK-3002?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15008836#comment-15008836
]
Aljoscha Krettek commented on FLINK-3002:
-----------------------------------------
Hi,
you can remove the {{isLeft}}/{{isRight}} fields, add abstract methods
{{isLeft}}/{{isRight}} in the base class and add concrete methods in {{Left}}
and {{Right}}. This way you get around the wasteful fields.
Also, I think the base class should be abstract since it does not make sense to
create an instance of that type. The {{TypeSerializer}} can just return
{{null}} in {{createInstance}} since an un-initialized {{Either}} doesn't seem
to be the correct behavior.
> 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.0
> Reporter: Stephan Ewen
> Assignee: Vasia Kalavri
> Fix For: 1.0.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)