You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by "Daniel Halperin (JIRA)" <ji...@apache.org> on 2016/10/20 18:27:58 UTC
[jira] [Updated] (BEAM-40) Replace rawtype lambda-incompatible uses
of SerializableFunction with SimpleFunction (as appropriate)
[ https://issues.apache.org/jira/browse/BEAM-40?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Halperin updated BEAM-40:
--------------------------------
Labels: Java8 backward-incompatible (was: Java8)
> Replace rawtype lambda-incompatible uses of SerializableFunction with SimpleFunction (as appropriate)
> -----------------------------------------------------------------------------------------------------
>
> Key: BEAM-40
> URL: https://issues.apache.org/jira/browse/BEAM-40
> Project: Beam
> Issue Type: Task
> Components: sdk-java-core
> Reporter: Kenneth Knowles
> Priority: Minor
> Labels: Java8, backward-incompatible
>
> When a lambda or method reference is used in Java 8 to provide a SerializableFunction<InputT, OutputT>, it is instantiated at the raw type SerializableFunction. We occasionally require reflective access to the actual parameter for OutputT, but it will be unavailable.
> MapElements and FlatMapElements thus use the analogous abstract class SimpleFunction in such situations to prevent use of a lambda or method reference. They then support lambda via separate constructors that require user help to determine the concrete output type.
> This ticket calls for an audit of such situations.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)