You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by "Kenneth Knowles (JIRA)" <ji...@apache.org> on 2016/02/20 03:19:18 UTC

[jira] [Created] (BEAM-40) Replace rawtype lambda-incompatible uses of SerializableFunction with SimpleFunction (as appropriate)

Kenneth Knowles created BEAM-40:
-----------------------------------

             Summary: 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
            Assignee: Kenneth Knowles
            Priority: Minor


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)